Picture Name Rausfinden in Excel
Schritt-für-Schritt-Anleitung
Um den Namen eines Bildes in Excel dynamisch zu ermitteln, kannst du den folgenden VBA-Code verwenden. Dieser Code kopiert eine Zelle als Bild und fügt sie in eine andere Zelle ein, wobei du den Namen des Bildes festlegen kannst.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul ein (
Einfügen
> Modul
).
- Kopiere den folgenden Code in das Modul:
Sub BildEinfügen()
Dim Ws As Worksheet: Set Ws = ThisWorkbook.ActiveSheet
With Ws
.Range("A4").CopyPicture xlScreen, xlPicture
.Paste
With .Shapes(.Shapes.Count)
.Name = "DeinBildName"
.Left = .Range("B4").Left
.Top = .Range("B4").Top
End With
End With
End Sub
- Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.
- Führe das Makro aus (
ALT + F8
und wähle BildEinfügen
).
Mit diesem Code wird das Bild in Zelle B4 eingefügt und erhält den Namen "DeinBildName". Du kannst den Namen anpassen, um ihn dynamisch zu gestalten.
Häufige Fehler und Lösungen
- Fehler: Anwendungs- oder objektdefinierter Fehler
- Wenn du versuchst, ein Bild zu löschen, und den Fehler erhältst, stelle sicher, dass der Name des Bildes korrekt ist. Du kannst den folgenden Code verwenden, um ein Bild zu löschen:
Sub BildLöschen()
Dim z As Long
z = ActiveCell.Row
Dim a As String
a = Cells(z, 36).Value
ActiveSheet.Shapes(a).Delete
End Sub
- Problem: Statische Bildnamen
- Wenn der Name des Bildes nicht bekannt ist, kannst du die letzte Form auf dem Arbeitsblatt ansprechen, indem du
.Shapes(.Shapes.Count)
verwendest, um den letzten eingefügten Bildnamen zu ermitteln.
Alternative Methoden
Eine alternative Methode, um das Bild zu benennen, ist das direkte Zuweisen eines Namens während des Einfügens:
Sub BildEinfügenMitName()
Dim Ws As Worksheet: Set Ws = ThisWorkbook.ActiveSheet
With Ws
.Range("A4").CopyPicture xlScreen, xlPicture
.Paste
.Shapes(.Shapes.Count).Name = "NeuerBildName"
End With
End Sub
Diese Methode ist nützlich, wenn du einen spezifischen Namen für dein Bild benötigst und den Namen nicht dynamisch ermitteln willst.
Praktische Beispiele
-
Bild in Zelle einfügen und benennen
Du kannst das Bild wie im Beispiel oben einfügen und den Namen direkt im Code anpassen.
-
Dynamische Benennung
Wenn du die Namen der Bilder standardisieren möchtest, könntest du eine Schleife verwenden, um durch mehrere Zellen zu iterieren und die Bilder entsprechend zu benennen.
Tipps für Profis
- Nutze die
activesheet.shapes.range(array( picture 1 )).select
Methode, um gezielt Bilder auszuwählen.
- Experimentiere mit den Eigenschaften der Shapes, um die Position und Größe des Bildes präzise anzupassen.
- Halte deinen Code modular, damit du ihn leichter anpassen kannst, wenn sich Anforderungen ändern.
FAQ: Häufige Fragen
1. Woher kommt der Name des Bildes in Excel?
Der Name des Bildes wird automatisch zugewiesen, wenn du ein Bild einfügst. Du kannst ihn jedoch manuell ändern oder dynamisch zuweisen.
2. Kann ich Bilder mit VBA in einer Schleife einfügen?
Ja, du kannst eine Schleife verwenden, um mehrere Bilder nacheinander einzufügen und zu benennen, indem du die entsprechenden Zelladressen angibst.