Diagramm mit VBA

Bild

Betrifft: Diagramm mit VBA
von: Anld
Geschrieben am: 11.07.2015 09:44:34

Hallo zusammen,
ich habe versucht mir aus einem Datenbereich ein Diagramm erzeugen zu lassen.
Dafür habe ich einfach mal den Makro Recorder mitlaufen lassen und Folgenden Code erhalten:


Sub Diagramm()
    Range("C5:M28").Select
    ActiveSheet.Shapes.AddChart2(297, xlColumnStacked).Select
    ActiveChart.SetSourceData Source:=Range("'Gesamtergebnis 1'!$C$5:$M$28")
End Sub
Wenn ich den Code jetzt erneut laufen lasse erhalte ich allerdings das "falsche" Diagramm. Dort müsste ich noch die Zeilen und Spalten tauschen sowie einige Legendeneinträge bzw. Achsenbeschriftungen entfernen. Ist das mit VBA möglich?
Der Makro Recorder nimmt zumindest den Wechsel der Zeilen und Spalten nicht auf bzw. es wird der Eintrag hinzugefügt:
ActiveChart.SetSourceData
Hier kommt allerdings die Fehlermeldung, dass .SetSourceData nicht optional ist.
Ich hoffe Ihr könnte mir weiterhelfen und vielen Dank im Voraus.
Beste Grüße
Anld

Bild

Betrifft: AW: Diagramm mit VBA
von: Beverly
Geschrieben am: 11.07.2015 10:42:18
Hi,
versuche es mal so:

Sub Diagramm()
    With ActiveSheet.Shapes.AddChart(50, 50, 250, 350).Chart
        .ChartType = xlColumnStacked
        .SetSourceData Source:=Range("'Gesamtergebnis 1'!$C$5:$M$28"), PlotBy:=xlRows
        .HasLegend = False
        .Axes(xlCategory).HasTitle = False
        .Axes(xlValue).HasTitle = False
    End With
End Sub



Bild

Betrifft: AW: Diagramm mit VBA
von: Anld
Geschrieben am: 11.07.2015 11:18:01
Hallo Karin,
jetzt wird zumindest schonmal der Aufbau so dargestellt wie ich ihn gerne hätte. Vielen Dank dafür schon einmal.
Das Problem, welches ich jetzt noch habe, dass nicht alle Daten aus diesem Bereich benötigt werden und ich diese "ausblenden" bzw. löschen muss.
Für das Ausblenden erhalte ich über den Makro Recorder gar keine Änderungen und für das Entfernen von Einträgen erhalte ich:

ActiveChart.FullSeriesCollection(2).Delete
Dies funktioniert aber beim Ausführen nicht. Ich hoffe Du/Ihr könnt mir noch ein bisschen weiterhelfen.
Viele Grüße
Anld

Bild

Betrifft: AW: Diagramm mit VBA
von: Beverly
Geschrieben am: 12.07.2015 09:32:14
Hi,
was meinst du mit "ausblenden"? Soll gleich bim Erstellen des Diagramms berücksichtigt werden, dass nicht alle Spalten aus dem Bereich C:M eingetragen werden sollen?




Bild

Betrifft: AW: Diagramm mit VBA
von: Anld
Geschrieben am: 13.07.2015 12:00:58
Ja, genau.
Gruß
Anld

Bild

Betrifft: AW: Diagramm mit VBA
von: Beverly
Geschrieben am: 13.07.2015 16:57:43
Hi,
so sollte es gehen:

Sub Diagramm()
    With ActiveSheet.Shapes.AddChart(50, 50, 250, 350).Chart
        .ChartType = xlColumnStacked
        .SetSourceData Source:=Range("'Gesamtergebnis 1'!$C$5:$M$28"), PlotBy:=xlRows
        .HasLegend = False
        .Axes(xlCategory).HasTitle = False
        .Axes(xlValue).HasTitle = False
        .SeriesCollection(2).Delete
    End With
End Sub



 Bild

Beiträge aus den Excel-Beispielen zum Thema "Diagramm mit VBA"