Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Grafik per VBA kopieren

Grafik per VBA kopieren
10.10.2012 19:41:58
Peter
Guten Abend
Ich habe in einem Tabellenblatt ein kleines Bild. Dieses würde ich gerne per VBA kopieren und an einer anderen Stelle im gleichen Tabellenblatt einfügen.
Könnt Ihr mir ev. einen Tipp geben?
Für Eure Hilfe danke ich Euch bestens.
Lieber Gruss
Peter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Grafik per VBA kopieren
10.10.2012 20:27:39
Luschi
Gallo Peter,
wenn ich in Excel 2010 den Makrorekorder anschmeiße, dann kommt so was raus:
ActiveSheet.Shapes.Range(Array("Picture 1")).Select
Selection.Copy
Range("H19").Select
ActiveSheet.Pictures.Paste.Select
Gruß von Luschi
aus klein-Paris

AW: Grafik per VBA kopieren
10.10.2012 20:36:09
Peter
Hallo Luschi
Das habe ich genau gesucht. Es funktioniert bestens.
Vielen Dank und einen schönen Abend!
Lieber Gruss
Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Grafik per VBA kopieren


Schritt-für-Schritt-Anleitung

Um eine Grafik in Excel per VBA zu kopieren und an einer anderen Stelle im gleichen Tabellenblatt einzufügen, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel und aktiviere das gewünschte Arbeitsblatt.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge einen neuen Modul ein:

    • Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  4. Gib den folgenden VBA-Code ein:

    Sub GrafikKopieren()
       ' Grafik auswählen und kopieren
       ActiveSheet.Shapes.Range(Array("Picture 1")).Select
       Selection.Copy
    
       ' Zielbereich auswählen und Grafik einfügen
       Range("H19").Select
       ActiveSheet.Pictures.Paste.Select
    End Sub
  5. Ändere "Picture 1" im Code, falls Deine Grafik anders benannt ist.

  6. Führe das Makro aus, indem Du auf F5 drückst oder das Makro über Excel startest.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass der Name der Grafik im Code mit dem Namen in Excel übereinstimmt. Du kannst den Namen der Grafik anpassen, indem Du sie auswählst und im Eigenschaftenfenster nachsiehst.
  • Fehler: Grafik wird nicht eingefügt

    • Lösung: Überprüfe, ob der Zielbereich (z.B. "H19") korrekt angegeben ist. Möglicherweise ist der Bereich nicht sichtbar oder geschützt.

Alternative Methoden

Falls Du keine VBA verwenden möchtest, kannst Du die Grafik auch manuell kopieren:

  1. Klicke auf die Grafik, um sie auszuwählen.
  2. Drücke Strg + C, um sie zu kopieren.
  3. Gehe zu der gewünschten Zielzelle und drücke Strg + V, um die Grafik einzufügen.

Das manuelle kopieren von Grafiken ist einfach, jedoch nicht so effizient wie die Verwendung von VBA, besonders wenn Du es häufig machen musst.


Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie Du eine Grafik in Excel 2010 per VBA kopieren kannst:

  • Du hast ein Bild mit dem Namen "Chart 1" in Deinem Arbeitsblatt.
  • Um dieses Bild zum Beispiel in die Zelle "D5" zu kopieren, ändere den VBA-Code wie folgt:

    Sub GrafikKopieren()
       ActiveSheet.Shapes.Range(Array("Chart 1")).Select
       Selection.Copy
       Range("D5").Select
       ActiveSheet.Pictures.Paste.Select
    End Sub

Tipps für Profis

  • Nutze Variablen: Du kannst den Namen der Grafik und den Zielbereich in Variablen speichern, um den Code flexibler zu gestalten.

    Sub GrafikKopieren()
       Dim GrafikName As String
       Dim ZielZelle As Range
    
       GrafikName = "Picture 1"
       Set ZielZelle = Range("H19")
    
       ActiveSheet.Shapes.Range(Array(GrafikName)).Select
       Selection.Copy
       ZielZelle.Select
       ActiveSheet.Pictures.Paste.Select
    End Sub
  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um Probleme während der Ausführung des Makros elegant zu lösen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Grafiken gleichzeitig kopieren?
Du kannst mehrere Grafiken in einem Array angeben, z.B. ActiveSheet.Shapes.Range(Array("Picture 1", "Picture 2")).Select.

2. Funktioniert dieser Code in allen Excel-Versionen?
Der Code ist für Excel 2010 und höher geeignet. In älteren Versionen kann es zu Abweichungen kommen.

3. Wie kann ich die Position der eingefügten Grafik ändern?
Nach dem Einfügen kannst Du die Position der Grafik mit den Eigenschaften Top und Left anpassen, z.B. ActiveSheet.Pictures.Paste.Select.Top = 100.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige