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
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:
Öffne Excel und aktiviere das gewünschte Arbeitsblatt.
Drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge einen neuen Modul ein:
Einfügen > Modul.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
Ändere "Picture 1" im Code, falls Deine Grafik anders benannt ist.
Führe das Makro aus, indem Du auf F5 drückst oder das Makro über Excel startest.
Fehler: "Objekt nicht gefunden"
Fehler: Grafik wird nicht eingefügt
Falls Du keine VBA verwenden möchtest, kannst Du die Grafik auch manuell kopieren:
Strg + C, um sie zu kopieren.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.
Hier ist ein Beispiel, das zeigt, wie Du eine Grafik in Excel 2010 per VBA kopieren kannst:
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
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.
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.