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

Diagramm kopieren und als Diagramm einfügen

Forumthread: Diagramm kopieren und als Diagramm einfügen

Diagramm kopieren und als Diagramm einfügen
09.10.2015 10:44:50
Andreas

Hallo An Alle,
hab mal wieder ein Problem und hoffe das ich hier Hilfe finde.
Ich möchte Diagramm von eine Excel in eine andere mit VBA kopieren udn einfügen.
Nur möchte ich das Diagram nicht als Bild sondern als Diagramm einfügen.
Mein Code Schnipsel funktioniert bei manueller ausführung gut aber beim Automatischen Durchlauf bricht er bei "ActiveSheet.Paste" ab.
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Copy
Windows("ACMM_KPI.xlsb").Activate
Cells(26, 2).Select
ActiveSheet.Paste
Der folgende Code fügt es leider nur als Bild ein.
Public Sub Graf()
Dim objShape As Object
ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Copy
Set objShape = Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Pictures.Paste
With objShape
.Top = Range("F7").Top
.Left = Range("F7").Left
'.Height = 50
'.Width = 50
End With
End Sub

Hat Jemand eine Idee wie ich das lösen kann?
Vielen Dank im Voraus und Grüße
Andreas

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
09.10.2015 14:48:47
Beverly
Hi Andreas,
    ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Copy
Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Paste


AW: Diagramm kopieren und als Diagramm einfügen
13.10.2015 10:13:30
Andreas
Hallo,
die Lösung ist gut aber leider funktioniert sie bei mir auch nur bei manueller Ausführung.
Wenn ich das Skript dann automatisch durchlaufen lasse steigt er bei "Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Paste" aus.
Hab irgendwie keine Ahnung warum es manuell geht aber automatisch nicht.
Hast du eine Idee?
Grüße
Andreas

Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
13.10.2015 13:55:27
Beverly
Hi Andreas,
und was sagt der Debugger genau?


AW: Diagramm kopieren und als Diagramm einfügen
13.10.2015 14:36:36
Andreas
Der Debugger sagt folgendes:
Laufzeitfehler `1004`:
Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
Hast du eine Idee?
Grüße
Andreas

Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
13.10.2015 15:29:22
Beverly
Hi Andreas,
ich habe den Code extra nochmal mit Excel2002 (XP) getestet und erhalte keine Fehlermeldung. Ist die Tabelle vielleicht geschützt?


AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 08:08:54
Andreas
Hallo Karin,
Die Tabelle ist nicht geschützt. Nach dem der Debugger den Fehler meldet und ich auf debuggen klicke, kann ich das Skript mit F8 weiter ausführen ohne das der Debugger erneut meckert.
so einen Fehler habe ich auch noch nicht gehabt, bekomme ich aber auch irgend wie nicht hi :-(
Ich habe die Datei noch mal simpel nachgebaut um nur das diagram mzu kopieren.
Bekomme aber trotzdem die Fehlermeldung.
Userbild
Userbild
Grüße
Andreas

Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 09:44:36
Beverly
Hi Andreas,
das kann ich leider nach wie vor nicht nachvollziehen und dir somit auch keine Lösung anbieten.


AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 10:19:24
Andreas
Hallo Karin,
Kennst du denn vielleicht eine Möglichkeit bei dem folgenden Ablauf anslelle des Picture.Paste die Grafik einzufügen und nicht als Bild?
Public Sub Grafik_Kopieren_Test()
Dim objShape As Object
ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Copy
Set objShape = Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Pictures.Paste
With objShape
.Top = Range("F7").Top
.Left = Range("F7").Left
'.Height = 50
'.Width = 50
End With
End Sub
Viele Grüße
Andreas

Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 12:29:39
Beverly
Hi Andreas,
nicht dass ich wüsste.


AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 12:33:44
Andreas
Hab jetz in der Zwichensablage gesehen, dass die Dateien die vom Makro kopiert werden ein anderes Zeichen haben als wenn ich die von Hand "Strg + C" kopiere.
Liegt es vielleicht daran, dass das Makro nicht durchläuft?
Userbild
Das untere Element wurde vom Makro in die Zwischenablage kopiert und das obere von mir.
Grüße
Andreas

Anzeige
AW: Diagramm kopieren und als Diagramm einfügen
14.10.2015 12:33:45
Andreas
Hab jetz in der Zwichensablage gesehen, dass die Dateien die vom Makro kopiert werden ein anderes Zeichen haben als wenn ich die von Hand "Strg + C" kopiere.
Liegt es vielleicht daran, dass das Makro nicht durchläuft?
Userbild
Das untere Element wurde vom Makro in die Zwischenablage kopiert und das obere von mir.
Grüße
Andreas
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm effizient kopieren und als Diagramm einfügen


Schritt-für-Schritt-Anleitung

Um ein Diagramm in Excel zu kopieren und als Diagramm in eine andere Arbeitsmappe einzufügen, kannst Du folgenden VBA-Code verwenden. Diese Anleitung geht davon aus, dass Du mit Excel 2002 (XP) oder höher arbeitest.

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" -> "Modul".
  3. Füge den folgenden Code ein:

    Public Sub DiagrammKopieren()
       ' Diagramm kopieren
       ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Copy
       ' Diagramm in die andere Arbeitsmappe einfügen
       Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Paste
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder gehe zu "Run" -> "Run Sub/UserForm".

Wenn das Diagramm korrekt kopiert wird, kannst Du es in der Ziel-Arbeitsmappe als Diagramm und nicht als Bild einfügen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Dieser Fehler tritt häufig auf, wenn die Paste-Methode des Worksheet-Objektes nicht ausgeführt werden kann. Eine mögliche Lösung könnte sein, sicherzustellen, dass die Ziel-Arbeitsmappe aktiv ist und nicht geschützt ist.

  • Diagramm lässt sich nicht kopieren
    Wenn das Diagramm nicht kopiert werden kann, überprüfe die Diagramm-Objektbezeichnung. Stelle sicher, dass das Diagramm, das Du kopieren möchtest, tatsächlich an der angegebenen Stelle existiert.


Alternative Methoden

Eine alternative Methode, um das Excel-Diagramm zu kopieren, besteht darin, das Diagramm als Bild zu kopieren und später das Layout zu übertragen. Hier ist ein Beispiel:

Public Sub DiagrammAlsBildKopieren()
    Dim objShape As Object
    ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Copy
    Set objShape = Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").Pictures.Paste
    With objShape
        .Top = Range("F7").Top
        .Left = Range("F7").Left
    End With
End Sub

Diese Methode überträgt jedoch das Excel-Diagramm als Bild und nicht als bearbeitbares Diagramm.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um das Excel-Diagramm layout zu übertragen:

Public Sub DiagrammLayoutUebertragen()
    Dim sourceChart As Chart
    Dim destChart As Chart

    Set sourceChart = ActiveWorkbook.Worksheets("Tabelle1").ChartObjects(1).Chart
    Set destChart = Workbooks("ACMM_KPI.xlsb").Worksheets("Chart").ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225).Chart

    sourceChart.Copy
    destChart.Paste

    ' Optional: Anpassen des Layouts nach Bedarf
End Sub

Tipps für Profis

  • Verwende DoEvents:
    Wenn Du mit automatisierten Abläufen arbeitest, kann es hilfreich sein, DoEvents einzufügen, um Excel genügend Zeit zu geben, um die Vorgänge abzuschließen.

  • Fehlerbehandlung einfügen:
    Implementiere Fehlerbehandlungsroutinen, um zu vermeiden, dass Dein Skript bei unerwarteten Problemen abstürzt.


FAQ: Häufige Fragen

1. Warum funktioniert mein Diagramm-Kopieren nicht automatisch?
Es kann sein, dass das Makro auf eine gesperrte Arbeitsmappe oder ein geschütztes Blatt zugreift. Überprüfe, ob das Zielblatt oder die Arbeitsmappe geschützt ist.

2. Kann ich das Layout eines Diagramms automatisch übertragen?
Ja, Du kannst das Layout eines Diagramms mit VBA übertragen. Dazu musst Du das Quell-Diagramm kopieren und in das Ziel-Diagramm einfügen, wie im obigen Beispiel gezeigt.

3. Was kann ich tun, wenn das Diagramm als Bild eingefügt wird?
Achte darauf, dass Du die richtige Paste-Methode verwendest. Nutze Worksheets("Chart").Paste, um das Diagramm als bearbeitbares Objekt 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