Visual Basic for Application, kurz VBA, ist eine in Microsoft Office-Programme integrierte Form von Visual Basic 6. Durch Codierung können Sie mit VBA Aufgaben in Office-Programmen, einschließlich Excel, automatisieren. In einigen Fällen können Sie mithilfe von VBA sogar neue Funktionen zu Excel hinzufügen.
Obwohl Sie mit Code arbeiten müssen, um VBA zu verwenden, bedeutet das nicht, dass VBA nur aus Buchstaben und Zahlen besteht. Mit VBA in Excel können Sie ein Makro erstellen, mit dem Sie Bilder in eine Zelle oder einen Zellbereich einfügen können. Lesen Sie weiter, um alles darüber zu erfahren!
So fügen Sie ein Bild mit VBA in Excel in eine Zelle ein
Um ein Makro zum Einfügen von Bildern in Excel-Zellen per VBA zu erstellen, benötigen Sie eigentlich keine fortgeschrittenen Visual Basic-Kenntnisse. Sie müssen lediglich die Entwicklertools aktivieren, das Makro erstellen und den richtigen Code einfügen.
Wenn Sie jedoch daran interessiert sind, VBA zu lernen und eines Tages Ihren eigenen Code zu schreiben, haben wir den VBA-Code im dritten Abschnitt aufgeschlüsselt. Kannst du natürlich auch
Einfügen von Bildern in Excel ohne Verwendung von VBA. In diesem Artikel geht es jedoch darum, dies über VBA zu erledigen. Kommen wir zur Sache!Um VBA in Excel verwenden zu können, müssen Sie die Entwicklertools in Excel aktivieren. Dadurch wird die Registerkarte "Entwickler" im Menüband aktiviert, die standardmäßig deaktiviert ist.
- Excel öffnen.
- Gehen Sie zum Datei Speisekarte.
- Klicke auf Optionen am unteren Rand des Bildschirms. Dies öffnet das Fenster Excel-Optionen.
- Gehen Sie in den Excel-Optionen zu Band anpassen Tab.
- Unter Hauptregisterkarten, überprüfen Entwickler.
Jetzt sind Entwicklertools, einschließlich des Zugriffs auf VBA, für Sie aktiviert. Sie müssen dies nicht jedes Mal tun, wenn Sie VBA in Excel verwenden möchten. Entwicklertools bleiben aktiviert, bis Sie sie deaktivieren.
2. Erstellen des Makros und Einfügen des Codes
Jetzt ist es an der Zeit, das Makro zu erstellen. Alternativ könnten Sie auch Erstellen Sie eine Schaltfläche mit VBA für diese Aufgabe, aber wir bleiben bei Makros.
- Gehen Sie in Excel zu Entwickler Tab.
- Im Code Abschnitt, auswählen Makros.
- Geben Sie im neuen Fenster unter einen Namen für Ihr Makro ein Makroname. Wir werden verwenden FotoMakro einfügen.
- Klicken Erstellen.
Sobald Sie auf Erstellen klicken, öffnet sich das VBA-Fenster und zeigt den Code für Ihr Makro an. Im Moment besteht der Code aus zwei Zeilen: A Sub um das Makro zu initiieren, und ein End Sub um es zu beenden.
Lassen Sie uns diesem Makro etwas Code hinzufügen. Fügen Sie den folgenden Code zwischen den beiden Zeilen ein:
FotoNameAndPath dimmen Als Variante
Dunkles Foto Als Bild
photoNameAndPath = Anwendung. GetOpenFilename (Titel:="Wählen Foto ZuEinfügung")
Wenn photoNameAndPath = FALSCH Dann Ausfahrt Sub
Satz Foto = ActiveSheet. Bilder. Einfügen (FotoNameUndPfad)
Mit Foto
.Links = ActiveSheet. Bereich("A1").Links
.Oben = ActiveSheet. Bereich("A1").Spitze
.Breite = ActiveSheet. Bereich("A1").Breite
.Höhe = ActiveSheet. Bereich("A1").Höhe
.Platzierung = 1
EndeMit
Ihr endgültiger Code sollte etwa wie folgt aussehen:
Sie müssen sich keine Gedanken über das Speichern Ihres Fortschritts machen. Jede Änderung, die Sie in VBA vornehmen, wird sofort gespeichert.
Jetzt ist es an der Zeit, den Code bei der Arbeit zu sehen.
- Schließen Sie das VBA-Fenster.
- Gehen Sie zum Entwickler Registerkarte in Excel.
- Wählen Makros von dem Code Abschnitt.
- Markieren Sie das soeben erstellte Makro.
- Klicken Laufen.
Jetzt wird eine Eingabeaufforderung geöffnet, in der Sie aufgefordert werden, die Bilddatei zu suchen, die Sie einfügen möchten. Wählen Sie Ihr Bild aus und klicken Sie dann Offen. Sie sollten jetzt Ihr Foto in der A1-Zelle sehen!
Beachten Sie, dass das eingefügte Bild so verkleinert wird, dass es in Zelle A1 passt. Sie können dies ändern und auch den Code ändern, um das Bild in andere Zellen oder sogar einen Bereich von Zellen einzufügen. Im nächsten Abschnitt werden wir den Code aufschlüsseln und die Parameter bei der Arbeit erklären.
3. Den Code aufschlüsseln
Damit dieser VBA-Code für Sie so funktioniert, wie Sie es möchten, müssen Sie ihn verstehen. Sobald Sie dies getan haben, können Sie den Code ändern, um Fotos in jeder Zelle in beliebiger Größe einzufügen. Wir werden den Code Stück für Stück durchgehen, um ihn verständlicher zu machen.
Sub einfügenFotoMakro()
FotoNameAndPath dimmen Als Variante
Dunkles Foto Als Bild
photoNameAndPath = Anwendung. GetOpenFilename (Titel:="Wählen Foto ZuEinfügung")
Wenn photoNameAndPath = FALSCH Dann Ausfahrt Sub
Satz Foto = ActiveSheet. Bilder. Einfügen (FotoNameUndPfad)
Mit Foto
.Links = ActiveSheet. Bereich("A1").Links
.Oben = ActiveSheet. Bereich("A1").Spitze
.Breite = ActiveSheet. Bereich("A1").Breite
.Höhe = ActiveSheet. Bereich("A1").Höhe
.Platzierung = 1
EndeMit
Ende Sub
Sobald der Code beginnt, verwenden wir die Abm -Anweisung, um den Typ der Variablen zu bestimmen. Wir haben hier zwei Variablen: photoNameAndPath Und Foto selbst. Ersteres haben wir als a bestimmt Variante und letzteres als a Foto.
Von dort aus wird die Variable photoNameAndPath ausgeführt und eine Anwendung geöffnet, um den Verbleib der Bilddatei abzurufen. Dies geschieht durch Anwendung. GetOpenFileName. Der Titel Der Parameter ist optional, und der darin enthaltene Inhalt wird als Fenstername angezeigt.
Verwenden Wenn photoNameAndPath = False, dann Sub beenden, geben wir an, dass der Prozess abgebrochen werden soll, wenn eine ungültige oder leere Adresse angegeben wird. Wenn jedoch eine richtige Datei zugeführt wird, dann Foto einstellen = ActiveSheet. Bilder. Einfügen (FotoNameUndPfad) gibt an, dass das Bild als die zuvor definierte Fotovariable festgelegt und in die aktive Tabelle eingefügt werden soll.
Endlich verwenden Mit Foto und den fünf folgenden Zeilen erläutern wir die Positionierung des Bildes. .Links Und .Spitze Geben Sie die Startorte an, während .Breite Und .Höhe geben die Endorte an. Wenn Sie das Bild in andere Zellen oder in einen Bereich einfügen möchten, sollten Sie diese Zeilen ändern.
.Platzierung gibt an, ob das Bild mit den Zellen skaliert oder in freier Form eingefügt werden soll. Einstellen auf 1 wird es mit den Zellen dimensionieren.
Letztlich verwenden wir Ende mit und dann End Sub um das Makro zu schließen. Beachten Sie, dass Sie die ändern können photoNameAndPath Und Foto Variablen zu einem beliebigen anderen Namen. Denken Sie nur daran, die Namen im gesamten Code konsistent zu halten.
Erledigen Sie mehr in Excel mit VBA
Excel ist in der Tat ein wunderbares Werkzeug zum Organisieren und Analysieren von Daten, aber das bedeutet nicht, dass Excel unfähig ist, wenn es um Grafiken geht. Obwohl Fotos und Bitmaps nicht die stärkste Seite von Excel sind, ist Excel dennoch perfekt in der Lage, damit umzugehen.
Obwohl Sie Bilder in Excel über die Benutzeroberfläche wie in anderen Office-Apps einfügen können, können Sie dies auch mit VBA tun. Mit VBA können Sie diese Aufgabe automatisieren und sogar mit anderen Aufgaben koppeln, um sie gleichzeitig auszuführen. Die Möglichkeiten mit VBA in Excel sind endlos.