Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagramm mittels VBA nach Word kopieren / Fehler

Forumthread: Diagramm mittels VBA nach Word kopieren / Fehler

Diagramm mittels VBA nach Word kopieren / Fehler
17.05.2005 18:18:04
alex
Hallo liebe Forumsler,
ich habe foglendes, für mich schwer zu durchschauendes Problem:
Mittels Makro möchte ich ein Diagramm von der aktuelle geöffneten Excelmappe in ein Worddokument kopieren.
Dazu erstelle ich zur Laufzeit brav ein Word - Applikation - Objekt, erzeuge aus einer Wordvorlage ein neues Dokument und definiere anschliessend ein Word - Selection - Objekt welches auf eine bestimmte Textmarke im Dokument zeigt.
Soweit alles in Ordnung und funktionabel, wenn ich ein Range - Objekt in der Zwischenablage habe, funktioniert das anschliessende Pasten wunderbar:
| Dim Tabelle As Range
| Set Tabelle = Kopierbereich_Analysetabelle()
| Tabelle.Copy
|
| WordSelection.Goto What:=wdGoToBookmark, Name:=NameTextmarkeTabelle
| WordSelection.PasteExcelTable False, False, False
Habe ich nun ein Chart - Objekt in der Zwischenablage, sollte ich laut Makroaufzeichnung in Word folgende Paste - Methode verwenden, welche von Word aus natürlich auch prompt klappt: Selection.PasteAndFormat (wdChartPicture)
Wenn ich diese Methode nun anwende..
| Dim Diagramm As ChartObject
| Set Diagramm = Kopierbereich_Diagramm
| Diagramm.Copy
|
| WordSelection.Goto What:=wdGoToBookmark, Name:=NameTextmarkeDiagramm
| WordSelection.PasteAndFormat wdChartPicture
..bekomme ich in Excel die Fehlermeldung:
>>Laufzeitfehler 4605: Dieser Befehl ist nicht verfügbar Diese Fehlermeldung tritt nicht auf, wenn ich die normale Paste - Methode verwende bzw. PasteAndFormat mit Type:=wdPasteDefault
Das normale Paste wirft mir das Diagramm allerdings als eingebettetes Chart-Objekt auf das aktuelle Blatt und ich müsste es aufwändig in Position bringen, abgesehen davon habe ich ja nun ein eingebettetes Objekt und nicht eine Grafik..
Meine Frage nun - hat jemand das selbe Problem schon gelöst und wie?
Bin für jede Hilfe dankbar!
mfg
Alex Mair
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm mittels VBA nach Word kopieren / Fehl
17.05.2005 19:27:50
Reinhard
Hallo Alex,
sind da alle Verweise auf Word usw gesetzt?
Ansonsten schau mal hier: http://mypage.bluewin.ch/reprobst/WordFAQ/ nach Excel, Diagrammen Charts...
Oder google mal in Groups nach PasteAndFormat und ggfs der Fehlernummer...
Gruß
Reinhard
Anzeige
AW: Diagramm mittels VBA nach Word kopieren / Fehl
18.05.2005 12:38:05
alex
Danke für die Antwort, Reinhard!
Ich habe nur einen Verweis gesetzt, nämlich "Microsoft Word 10.0 Object Library". Brauch ich noch was anderes?
Internet hab ich vor dem Schreiben des Beitrags schon durchforstet (2 Stunden erfolglos durchsucht..), aber zu findender Beispielcode macht das selbe wie ich nur dort klappts anscheinend.
Ich habe inzwischen eine Alternative zum Diagrammobjekt kopieren gefunden: ich nehme den dem Diagramm unterliegenden Zellbereich (Range) und füg das ganze als Excel - Tabelle in Word ein. Dann bekomm ich dort eine verschachtelte Tabelle welche ein Grafikobjekt enthält. Sauber ist was anderes..
Deshalb bitte nochmals um Hilfe.
mfg
Alex Mair
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm aus Excel in Word einfügen: Lösungen für VBA-Probleme


Schritt-für-Schritt-Anleitung

Um ein Excel-Diagramm als Grafik in Word einzufügen, kannst du folgendes VBA-Skript verwenden. Dies funktioniert in Excel 2007 und höher:

Sub DiagrammNachWordKopieren()
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim Diagramm As ChartObject
    Dim WordSelection As Object

    ' Word-Applikation erstellen
    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Add

    ' Diagramm kopieren
    Set Diagramm = ActiveSheet.ChartObjects(1) ' Ersetze 1 durch die Nummer deines Diagramms
    Diagramm.Copy

    ' Zum gewünschten Lesezeichen in Word navigieren
    Set WordSelection = WordApp.Selection
    WordSelection.Goto What:=wdGoToBookmark, Name:="NameTextmarkeDiagramm"

    ' Diagramm als Grafik einfügen
    WordSelection.PasteAndFormat wdChartPicture
    WordApp.Visible = True
End Sub

Vergewissere dich, dass du die richtige Textmarke in deinem Word-Dokument angegeben hast.


Häufige Fehler und Lösungen

Ein häufiger Fehler, der auftreten kann, ist der Laufzeitfehler 4605. Dieser Fehler tritt oft auf, wenn du versuchst, ein Diagramm mit der Methode Selection.PasteAndFormat einzufügen. Hier sind einige Lösungsmöglichkeiten:

  1. Verweise prüfen: Stelle sicher, dass alle notwendigen Verweise in den VBA-Einstellungen gesetzt sind, insbesondere der "Microsoft Word Object Library".

  2. Diagramm kopieren: Überprüfe, ob das Diagramm tatsächlich in der Zwischenablage ist, bevor du versuchst, es in Word einzufügen.

  3. Alternative Paste-Methoden: Wenn der Fehler weiterhin besteht, kannst du die Methode WordSelection.Paste ausprobieren, um zu sehen, ob das Problem damit umgangen werden kann.


Alternative Methoden

Wenn das direkte Einfügen des Diagramms nicht funktioniert, gibt es alternative Methoden:

  • Zellbereich kopieren: Du kannst den Zellbereich, der das Diagramm enthält, kopieren und als Excel-Tabelle in Word einfügen. Dies führt zwar zu einer verschachtelten Tabelle, funktioniert aber oft stabiler.

  • Screenshot: Eine weitere Möglichkeit ist, einen Screenshot des Diagramms zu erstellen und diesen als Bild in Word einzufügen. Dies kann eine schnelle Lösung sein, wenn die VBA-Methoden nicht funktionieren.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie man ein Diagramm aus Excel als Grafik in Word einfügt. Achte darauf, dass du die Namen der Objekte und Textmarken entsprechend anpasst.

Sub EinfuegenDiagramm()
    Dim WordApp As Object
    Dim Diagramm As ChartObject

    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True

    ' Diagramm kopieren
    Set Diagramm = ActiveSheet.ChartObjects("Diagramm 1") ' Diagrammname anpassen
    Diagramm.Copy

    ' Word-Dokument erstellen und Diagramm einfügen
    With WordApp.Documents.Add
        .Content.PasteAndFormat wdChartPicture
    End With
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um Laufzeitfehler besser zu diagnostizieren und zu beheben.

  • Makros optimieren: Vermeide unnötige Kopier- und Einfügevorgänge. Überlege, ob du das Diagramm direkt aus der Excel-Datei verlinken kannst, anstatt es zu kopieren.

  • Regelmäßige Updates: Halte deine Office-Installation auf dem neuesten Stand, um sicherzustellen, dass alle VBA-Funktionen korrekt funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Diagramm in der Zwischenablage ist?
Verwende die Debug.Print-Anweisung, um zu überprüfen, ob das Diagramm vor dem Einfügen erfolgreich kopiert wurde.

2. Kann ich mehrere Diagramme gleichzeitig kopieren?
Ja, du kannst eine Schleife verwenden, um durch alle Diagramme in einem Arbeitsblatt zu iterieren und sie nacheinander in Word einzufügen.

3. Was kann ich tun, wenn die Selection.PasteAndFormat-Methode nicht funktioniert?
Versuche die Standard-Paste-Methode oder die WordSelection.PasteSpecial-Methode, um die Grafik in einem anderen Format einzufügen.

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