Frage von ibo60, 33

Excel VBA: Graphiken werden beim erneuten Einfügen hochgezählt. Wie kann ich das automatisieren?

Hallo zusammen, ich bin gerade dabei mittels Makroaufzeichnung ein VBA-Code zu erstellen. Dabei möchte ich Graphiken aus einer Datei in eine andere Datei als Bild einfügen.

Ich habe auch folgenden Code:

ActiveSheet.Shapes.Range(Array("Grafik 2")).Select
Selection.Delete
Windows("Datei X" & Monat_Jahr_kurz & ".xlsm").Activate
ActiveSheet.Shapes.Range(Array("Grafik 9")).Select
Selection.Copy
Windows("Datei Y" & Monat_Jahr_kurz & "_XXX.xls").Activate
Range("E36").Select
ActiveSheet.Pictures.Paste.Select
   
Monat_Jahr_kurz = Format([datum], "MMYY")

Mein VBA-Code funktioniert auch soweit. Die alte Grafik wird stets gelöscht, sobald erneut die Grafik eingefügt wird.

Durch dieses Löschen zählt Excel immer weiter. D.h. Immer wenn ich die Graphik erneut einfüge, wird durch Excel hochgezählt und nennt es Grafik 2, Grafik 3, Grafik 4, Grafik 5, Grafik 6 usw.

Wie kann ich das nun automatisieren, sodass ich nicht immer manuell den Code anpassen muss?

Vielen Dank für Eure Antworten!!!

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 26

Probier mal, mit Shapes.Count oder einem ähnlichen Befehl den Index des letzten Shapes zu ermitteln und setze dann den Namen 

"Grafik " & iAnzShapes

dynamisch zusammen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten