Sie können Bilder ganz einfach in Excel-Tabellen einfügen und sie mit Makrocode bearbeiten. So fügen Sie mit VBA in Excel ein Bild in eine Zelle ein .

Visual Basic for Applications, abgekürzt als VBA, ist eine Form von Visual Basic 6, die in Microsoft Office-Programme integriert ist. Durch Codierung können Sie mit VBA Aufgaben in Office-Anwendungen, einschließlich Excel, automatisieren. In einigen Fällen können Sie mit VBA sogar neue Funktionen zu Excel hinzufügen.
Auch wenn Sie für die Verwendung von VBA mit Code arbeiten müssen, heißt das nicht, dass VBA voller Buchstaben und Zahlen ist. Mit VBA in Excel können Sie ein Makro erstellen, mit dem Sie ein Bild in eine Zelle oder einen Zellbereich einfügen können. Hier erfahren Sie, was Sie über das Einfügen von Bildern in Zellen in Excel mit VBA wissen müssen.
So fügen Sie Bilder mit VBA in Excel in Zellen ein
Um mit VBA ein Makro zu erstellen, das ein Bild in eine Excel-Zelle einfügt, sind keine fortgeschrittenen Visual Basic-Kenntnisse erforderlich. Sie müssen lediglich die Entwicklertools aktivieren, ein Makro erstellen und den entsprechenden Code einfügen. Natürlich können Sie Bilder auch ohne VBA in Excel einfügen. In diesem Artikel konzentrieren wir uns jedoch auf VBA.
1. Aktivieren Sie die Entwicklertools
Um VBA in Excel verwenden zu können, müssen Sie Entwicklertools aktivieren. Durch diese Aktion wird die Registerkarte „Entwickler“ im Menüband aktiviert, die standardmäßig deaktiviert ist.
- Öffnen Sie Excel .
- Gehen Sie zum Menü Datei .
- Klicken Sie unten auf dem Bildschirm auf Optionen . Das Fenster „Excel-Optionen“ wird angezeigt.
- Gehen Sie in den Excel-Optionen zur Registerkarte „Menüband anpassen“ .
- Aktivieren Sie unter „Hauptregisterkarten“ die Option „Entwickler“ .

Jetzt sind Entwicklertools, einschließlich VBA-Zugriff, aktiviert. Sie müssen dies nicht jedes Mal tun, wenn Sie VBA in Excel verwenden möchten. Entwicklertools bleiben immer aktiviert, bis Sie sie deaktivieren.
2. Erstellen Sie Makros und fügen Sie Code ein
- Gehen Sie in Excel zur Registerkarte „Entwickler“ .
- Wählen Sie im Abschnitt Code die Option Makros aus .
- Geben Sie im neuen Fenster unter Makroname Ihren Makronamen ein . Der Artikel verwendet insertPhotoMacro .
- Klicken Sie auf Erstellen .

Nachdem Sie auf „Erstellen“ geklickt haben, öffnet sich das VBA-Fenster und zeigt den Code für Ihr Makro an. Derzeit besteht der Code aus zwei Zeilen: einem Sub zum Starten des Makros und einem End Sub zum Beenden.

Fügen Sie diesem Makro einen kleinen Code hinzu. Fügen Sie zwischen den beiden Zeilen die folgende Codezeile hinzu:
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
Der endgültige Code sieht folgendermaßen aus:

Sie müssen sich keine Gedanken über die Speicherung dieses Vorgangs machen. Alle Änderungen, die Sie in VBA vornehmen, werden sofort gespeichert.
Jetzt ist es an der Zeit, den Code in Aktion zu sehen:
- Schließen Sie das VBA-Fenster.
- Gehen Sie in Excel zur Registerkarte „Entwickler“ .
- Wählen Sie im Abschnitt „Code“ die Option „Makros“ aus.
- Markieren Sie das gerade erstellte Makro.
- Klicken Sie auf Ausführen .
Nun öffnet sich eine Meldung, in der Sie aufgefordert werden, die Bilddatei zu finden, die Sie einfügen möchten. Wählen Sie das Foto aus und klicken Sie dann auf Öffnen. Sie sehen nun das Bild in Zelle A1.
Beachten Sie, dass Excel das Bild verkleinert, sodass es in Zelle A1 passt. Sie können es ändern und den Code ändern, um Bilder in andere Zellen einzufügen, sogar in einen Zellbereich. Im nächsten Abschnitt werden wir den Code trennen und die Parameter erklären.
3. Split-Code
Damit VBA-Code wie gewünscht funktioniert, müssen Sie ihn verstehen. Dabei können Sie den Code ändern, um Bilder in jede Zelle beliebiger Größe einzufügen.
Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub
Zu Beginn des Codes wird die Dim-Anweisung verwendet, um den Variablentyp zu bestimmen. Wir haben zwei Variablentypen: photoNameAndPath und photo . Zuerst die Variable und dann das Bild.
Von dort aus wird die Variable photoNameAndPath ausgeführt und eine Anwendung geöffnet, um den Speicherort der Fotodatei abzurufen. Dies erfolgt über Application.GetOpenFileName . Der Parameter Title ist optional. Der darin enthaltene Inhalt wird als Fenstername angezeigt.
Mit If photoNameAndPath = False Then Exit Sub wird der Prozess beendet, wenn eine ungültige oder leere Adresse angegeben wird. Wenn jedoch eine geeignete Datei bereitgestellt wird, gibt Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) an, dass das Bild wie ursprünglich definiert als Variable festgelegt werden sollte. Es wird in das aktive Arbeitsblatt eingefügt.
Verwenden Sie abschließend „Mit Foto“ und die 5 Zeilen danach, um den Standort des Fotos zu bestimmen. .Left und .Top beziehen sich auf die Startposition, während .Width und .Height sich auf die Endposition beziehen. Wenn Sie beabsichtigen, Bilder in eine andere Zelle oder einen Bereich einzufügen, sollten Sie diese Zeilen ändern.
.Platzierung gibt an, dass die Größe des Bildes an die Zelle angepasst oder eine Freiform eingefügt werden soll. Wenn Sie den Wert auf 1 setzen , wird die Größe entsprechend der Zelle angepasst.
Schließlich verwendet der obige Code End With und dann End Sub , um das Makro zu schließen. Jetzt können Sie die Variablen photoNameAndPath und photo in einen beliebigen anderen Namen ändern . Denken Sie daran, die Namen im gesamten Code konsistent zu halten.
Oben erfahren Sie, wie Sie mit VBA Bilder in Zellen in Excel einfügen . Ich hoffe, der Artikel ist für Sie nützlich.