Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveSheet.ChartObjects.Activate

Forumthread: ActiveSheet.ChartObjects.Activate

ActiveSheet.ChartObjects.Activate
Ximena
Halli Hallo
Erneut ein Problem im Excel... Ich bin am verzweifeln...
Ich erstelle per Makro eine Grafik (was auch funktioniert). Danach möchte ich die Grafik als JPG Bild abspeichern. Das klappt soweit eigentlich auch, nur bei manchen Makros tut er doof!
Ich lasse meine Excel Makros aus dem Word laufen und deshalb sieht das folgendermassen aus:
'Backup Makro laufen lassen und die drei Variablen mitgeben
objXLS.Application.Run "VBAProject.BackupSuccess.BackupSuccess", myMonth, myYear,  _
myDivision
'Chart als Bild abspeichern
objXLS.ActiveSheet.ChartObjects(1).Activate
Dateiname = "H:\SLRReports\Backup Report Grafik " & myDivision & ".jpg"
objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"
Bei diesem Beispiel hat die Makro keine Probleme. Aber hier:
'Availability Makro laufen lassen und die drei Variablen mitgeben
objXLS.Application.Run "VBAProject.Availability.Availability", myMonth, myYear, myDivision
'Chart als Bild abspeichern
'Gold
objXLS.ActiveSheet.ChartObject(1).Activate
Dateiname = "H:\SLRReports\Gold Availability Grafik " & myDivision & ".jpg"
objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"
'Silver
objXLS.ActiveSheet.ChartObject(2).Activate
Dateiname = "H:\SLRReports\Silver Availability Grafik " & myDivision & ".jpg"
objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"
'Bronze
objXLS.ActiveSheet.ChartObject(3).Activate
Dateiname = "H:\SLRReports\Bronze Availability Grafik " & myDivision & ".jpg"
objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"

kommt immer eine Fehlermeldung! Und zwar markiert er mir objXLS.ActiveSheet.ChartObject(1).Activate.
Object doesn't support this property or method¨
Was stimmt nicht an meinem Code? Warum funzt es oben und unten nicht?
Kann mir da jemand weiterhelfen?
Liebe Grüsse
Ximena
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ActiveSheet.ChartObjects.Activate
31.05.2012 16:10:45
guentherh
Zwar kenne ich mich mit den Chart-Sachen nicht aus, aber es fällt auf, dass einmal
ChartObjects und einmal ChartObject steht
Gruß,
Günther
Danke, das wars! :D
31.05.2012 16:15:25
Ximena
Haha, manchmal denke ich echt, ich bin zu doof für diese Welt :P
Öhm, ja danke vielmals... es funktioniert jetzt :D
Haha, wie doof kann ein Mensch nur sein?!!?
Liebe Grüsse
Ximena
Anzeige
Wie doof? Da gibt's noch ganz andere Kaliber
31.05.2012 18:56:49
NoNet
Hallo ximenia,
tröste Dich, das ist wohl fast jedem von uns schon passiert...
Bzgl. "Doofheit" hat die Skala aber wohl nach oben wie nach unten noch viel Luft ;-)
Salut, NoNet
;
Anzeige

Infobox / Tutorial

ActiveSheet.ChartObjects erfolgreich aktivieren und Fehler beheben


Schritt-für-Schritt-Anleitung

Um das ActiveSheet.ChartObjects korrekt zu aktivieren und die gewünschten Grafiken als JPG abzuspeichern, folge diesen Schritten:

  1. Makro vorbereiten: Stelle sicher, dass Dein Makro korrekt eingerichtet ist, um das Diagramm zu erstellen.

  2. Grafik aktivieren:

    objXLS.ActiveSheet.ChartObjects(1).Activate
  3. Dateiname festlegen: Definiere den Namen, unter dem das Bild gespeichert werden soll:

    Dateiname = "H:\SLRReports\Backup Report Grafik " & myDivision & ".jpg"
  4. Grafik exportieren:

    objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"
  5. Wiederhole die Schritte für weitere Diagramme: Achte darauf, die Indizes in ChartObjects korrekt zu verwenden, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

Ein häufiger Fehler, der beim Arbeiten mit ActiveSheet.ChartObjects auftritt, ist die Verwendung von ChartObject anstelle von ChartObjects. Achte darauf, dass der Plural korrekt ist:

  • Fehler:
    objXLS.ActiveSheet.ChartObject(1).Activate
  • Korrektur:
    objXLS.ActiveSheet.ChartObjects(1).Activate

Wenn Du diese Korrektur vornimmst, sollte die Fehlermeldung "Object doesn't support this property or method" nicht mehr auftreten.


Alternative Methoden

Falls Du das ActiveSheet nicht aktivieren kannst, kannst Du auch direkt auf das Diagramm zugreifen, indem Du es über eine Variable speicherst:

Dim myChart As ChartObject
Set myChart = objXLS.ActiveSheet.ChartObjects(1)
myChart.Activate
myChart.Chart.Export FileName:=Dateiname, FilterName:="JPG"

Diese Methode ist besonders nützlich, wenn Du mehrere Diagramme verwalten möchtest.


Praktische Beispiele

Hier ist ein Beispiel für das Speichern mehrerer Diagramme aus einem Arbeitsblatt:

Dim i As Integer
For i = 1 To 3
    objXLS.ActiveSheet.ChartObjects(i).Activate
    Dateiname = "H:\SLRReports\Diagramm " & i & ".jpg"
    objXLS.ActiveChart.Export FileName:=Dateiname, FilterName:="JPG"
Next i

Mit dieser Schleife kannst Du alle Diagramme auf dem ActiveSheet effizient speichern.


Tipps für Profis

  • Verwende ThisWorkbook.Sheets: Wenn Du sicherstellen möchtest, dass Du auf ein bestimmtes Arbeitsblatt zugreifst, verwende:

    ThisWorkbook.Sheets("Sheet1").Activate
  • Fehlerbehandlung einbauen: Nutze On Error Resume Next, um Fehler zu ignorieren und eine benutzerdefinierte Fehlermeldung auszugeben.

  • Testen in der Entwicklungsumgebung: Teste Deine Makros zuerst in der Entwicklungsumgebung, bevor Du sie aus Word aufrufst, um sicherzustellen, dass alles wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Warum funktioniert ChartObject nicht? Es sollte ChartObjects verwendet werden, da es sich um eine Sammlung handelt. Achte darauf, den Plural zu verwenden.

2. Wie kann ich ein bestimmtes Diagramm aktivieren? Du kannst das Diagramm über seinen Index in ChartObjects aktivieren, z.B. objXLS.ActiveSheet.ChartObjects(1).Activate.

3. Was mache ich, wenn ich eine Fehlermeldung erhalte? Überprüfe deinen Code auf Tippfehler und stelle sicher, dass Du die korrekten Objekte und Methoden verwendest. Achte darauf, dass Du ActiveChart nur verwendest, wenn ein Diagramm aktiv ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige