Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Diagramm aktualisieren
Ganna
Hallo,
nachdem ich ein Diagramm erstellt habe, will ich bei der neuen Berechnung mit Makros vorheriges Diagramm löschen und durch aktuelles ersetzen. In der folgenden Code bekomme ich Fehlermeldung, dass die "Delete Methode für den Sheet fehlgeschlagen ist". Wie kann ich mein Problem lösen?
'Erstellen der Graphik-Massenbilanz
Set Bereich = Range(Cells(3, 1), Cells(7, 2))
Application.DisplayAlerts = False
Charts.Delete
Charts.Add
ActiveChart.ChartType = xl3DPie
With ActiveChart
.SetSourceData Source:=Bereich, PlotBy:=xlColumn
.HasTitle = True
.ChartTitle.Characters.Text = "Massenbilanz (kg)"
.HasLegend = True
ActiveChart.Location Where:=xlLocationAsObject, Name:="Massenbilanz"
Mfg
Ganna

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Activesheet.Chartobjects.Delete oder NICHT LÖSCHEN
12.01.2010 14:50:28
NoNet
Hallo Ganna,
Zum Löschen eines (bzw. ALLER) Diagrammobjektes auf einem Tabellenblatt benötigst Du folgende VBA-Anweisung :
Activesheet.Chartobjects.Delete
IMHO musst Du das Diagramm jedoch gar nicht unbedingt löschen, wenn Du es sofort neu erzeugen möchtest ! Hier genügt es, einfach die Datenquelle des Diagramms anzupassen :
Sub DiagrammAktualisieren()
ActiveSheet.ChartObjects(1).Chart.SetSourceData _
Source:=ActiveSheet.Range(Cells(3, 1), Cells(7, 2)), PlotBy:=xlColumns
End Sub
Gruß, NoNet
AW: Diagramm aktualisieren
13.01.2010 11:26:54
Beverly
Hi Ganna,
im Arbeitsblatt ist es kein Chart sondern ein ChartObject. Außerdem musst du bei Diagrammobjecten den Arbeitsblattbezug mit angeben.Ddeshalb müsste deine Zeile so heißen:
ActiveSheet.ChartObjects.Delete
Man kann ein Diagramm auch sofort als Diagrammobjekt ins Tabellenblatt einfügen ohne den Umweg über ein Diagrammblatt:
Sub DiagrammErstellen()
Dim Bereich As Range
Dim chDiagramm As ChartObject
Set Bereich = Range(Cells(3, 1), Cells(7, 2))
Application.DisplayAlerts = False
With Worksheets("Massenbilanz")
If .ChartObjects.Count > 0 Then .ChartObjects.Delete
Set chDiagramm = .ChartObjects.Add(150, 50, 450, 300)
With chDiagramm.Chart
.ChartType = xl3DPie
.SetSourceData Source:=Bereich, PlotBy:=xlColumn
.HasTitle = True
.ChartTitle.Characters.Text = "Massenbilanz (kg)"
.HasLegend = True
End With
End With
Set Bereich = Nothing
Set chDiagramm = Nothing
End Sub



Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige