ich möchte ein angezeigtes Diagramm (Säulen) per VBA in den Diagrammtyp Pareto ändern. Über das Excel Menü (Rechtklick auf Diagramm > Diagrammtyp ändern > Histogramm > Pareto funktioniert das tadellos. Es gelingt mit nicht, diesen Prozess mit VBA abzubilden. Makrorekorder hilft natürlich nicht weiter.
Die Datenquelle wird aus einem Blatt ausgelesen, der Bereich ist variabel.
Hier einmal der Code, der ein Balkendiagramm generiert:
##vintbaas, vinteaas sind variable, die linke und rechte Spalte eines Bereiches definieren
##bereich2 setzt den Range Datenbereich für das Diagramm aus Spalte und Zeilennummer zusammen
##spbs liefert den Spaltenbuchstaben
Public Function spbs(spaltenzahl As Integer) As String
spbs = Split(Cells(1, spaltenzahl).Address, "$")(1)
End Function
Dim sWks3 As StringDim bereich2 as String
Worksheets(sWks3).Shapes.AddChart2(207, xlColumnClustered).Select
bereich2 = spbs(vintbaas) & "5:" & spbs(vinteaas) & "5," & spbs(vintbaas) & "50:" & spbs(vinteaas) & "50"
ActiveChart.SetSourceData Source:=Worksheets(sWks3).Range(bereich2)
ActiveChart.PlotBy = xlRows
Jeder Versuch mit Activechart.chartstype = 122 oder xlPareto scheitert. Weg über das Excelmenü funktioniert aber problemlos (mit 5 clicks)
Ziel: 1 click z. B. auf einen commandbutton
Wie kann ich den Weg über das Menü in Excel abkürzen und per VBA abbilden? Wechsel in Kreis- oder Balkendiagramm ist kein problem, das funktioniert mit ,chartstype
Ganz herzlichen Dank