in der Datei befinden sich in Tabelle1 ein manuell erstelles Balkendiagramm wie es benötige, nur zwei Balken und darunter die Werte.
Die Anordnung der Werte in B3 und B4 sind von der Original-Tabelle so vorgegeben.
In Tabelle2 ist mein Versuch das Balkendiagramm per Makro zu erstellen.
Dazu verwendete ich als Vorlage die etwas abgewandelte Subroutine aus dem letzten Beitrag des Threads
Balkendiagramm per Makro erstellen.
Code: Alles auswählen
Sub Diagramm2
Dim Doc As Object
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(1) As New com.sun.star.table.CellRangeAddress
Dim start_column1 as integer
Dim start_row1 as integer
Dim start_column2 as integer
Dim start_row2 as integer
REM ************ Setup ***************************************
start_column1 = 1 '1
start_row1 = 2
start_column2 = 3 '3
start_row2 = 2
REM ************ Diagram Creation ****************************
Doc = ThisComponent
Sheets = Doc.Sheets
Sheet = Sheets.getByName("Tabelle2")
Charts = Sheet.Charts
Rect.X = 8000
Rect.Y = 3000
Rect.Width = 8000
Rect.Height = 7000
RangeAddress(0).Sheet = 1
RangeAddress(0).StartColumn = start_column1
RangeAddress(0).StartRow = start_row1
RangeAddress(0).EndColumn = start_column1
RangeAddress(0).EndRow = start_row1 + 3
RangeAddress(1).Sheet = 1
RangeAddress(1).StartColumn = start_column2
RangeAddress(1).StartRow = start_row2
RangeAddress(1).EndColumn = start_column2
RangeAddress(1).EndRow = start_row2 + 3
Charts.addNewByName("MyChart1", Rect, RangeAddress(), True, True)
Chart = Charts.getByName("MyChart1").EmbeddedObject
Chart.Diagram = Chart.createInstance("com.sun.star.chart.BarDiagram")
Chart.Diagram.Wall.FillColor = RGB(255, 255, 255)
Chart.Diagram.HasYAxisDescription = 0
Chart.Diagram.HasYAxisGrid = 0
Chart.Diagram.YAxis.Min = 0
Chart.Diagram.YAxis.Max = 30
End Sub
Es funktioniert nur wenn sich die Werte in D4 und D5 befinden.
Wie ist es möglich das Diagramm per Makro zu erstellen, wenn sich die beiden Werte in B3 und B4 befinden und wie kann man die XY Skalen entfernen und die Datenbeschriftungen unter den Balken einfügen.
Viele Grüße
Ich Bins