Microsoft Excel ist eines der beliebtesten Werkzeuge für die Arbeit mit Tabellen und Daten. Excel bietet jedoch auch die Möglichkeit, sich wiederholende Aufgaben mithilfe der Programmiersprache VBA (Visual Basic for Applications) zu automatisieren. In diesem Artikel erfahren Sie, wie Sie ein Bild mithilfe von VBA-Code in eine Excel-Tabelle hochladen.
Wenn Sie ein Bild in eine Excel-Tabellenzelle einfügen möchten, können Sie die VBA-Funktionalität verwenden. Dies kann beispielsweise nützlich sein, um Berichte oder Präsentationen zu erstellen, in denen Sie Ihren Daten Illustrationen hinzufügen möchten. Durch das Hochladen eines Bildes in eine Tabelle mit VBA-Code können Sie diesen Prozess automatisieren und den Zeitaufwand für die Ausführung einer Aufgabe erheblich reduzieren.
Um mit VBA in Excel zu beginnen, müssen Sie den VBA-Editor öffnen, den Sie auf der Registerkarte "Entwickler" finden können. Sie können ein neues Makro im Editor erstellen oder ein vorhandenes Makro öffnen. Als nächstes schreiben Sie Code, der das Bild in die Tabelle lädt. Der VBA-Code verfügt über spezielle Methoden und Eigenschaften, mit denen Sie auf Tabellenzellen zugreifen und Bilder in diese einfügen können. Sie können beispielsweise die Methode "AddPicture" verwenden, um dem aktiven Tabellenblatt ein Bild hinzuzufügen.
VBA-Beispielcode:Sub InsertPicture()
Dim pic As Shape
Set pic = ActiveSheet.Shapes.AddPicture("С:\путь_к_картинке .jpg", False, True, 100, 100, 200, 200)
pic.CopyPicture
Range("A1").Select
ActiveSheet.Paste
End Sub
Im obigen Codebeispiel erstellen wir zuerst ein neues Shape-Objekt, das ein Bild darstellt. Dann geben wir den Pfad zum Bild an und legen seine Parameter wie Position, Größe und Transparenz fest. Danach erstellen wir eine Kopie des Bildes und fügen es in die Zelle "A1" im aktiven Tabellenblatt ein.
Die Verwendung von VBA in Excel ermöglicht das Laden von Bildern mithilfe von Code in eine Tabelle, wodurch die Arbeit mit Daten und Illustrationen vereinfacht und automatisiert wird.
Excel VBA: Laden eines Bildes mit Code in eine Tabelle
In Excel VBA können Sie Code verwenden, um Bilder automatisch in eine Tabelle zu laden. Dies kann nützlich sein, wenn Sie Ihrer Tabelle Bilder aus externen Quellen hinzufügen möchten oder Bilder aus einem bestimmten Ordner in großen Mengen herunterladen möchten.
Führen Sie die folgenden Schritte aus, um ein Bild mithilfe des Codes in eine Tabelle hochzuladen:
- Deklarieren von Variablen für die Arbeit mit Excel-Objekten wie Workbook und Worksheet.
- Erstellen Sie ein FileSystemObject, um mit Dateien und Ordnern zu arbeiten.
- Wählen Sie den gewünschten Ordner oder die gewünschte Datei aus, aus der das Bild heruntergeladen werden soll.
- Erstellen Sie ein Picture-Objekt, um der Tabelle ein Bild hinzuzufügen.
- Passen Sie die Größe und Position des Bildes in der Tabelle an.
- Objekte speichern und schließen, wenn das Laden der Bilder abgeschlossen ist.
Sub LoadPictures()Dim wb As WorkbookDim ws As WorksheetDim fs As ObjectDim folder As ObjectDim file As ObjectDim pic As ObjectSet wb = ThisWorkbookSet ws = wb.Worksheets("Sheet1")Set fs = CreateObject("Scripting.FileSystemObject")Set folder = fs.GetFolder("C:\Pictures")For Each file In folder.FilesSet pic = ws.Pictures.Insert(file.Path)With pic.Left = ws.Range("A1").Left.Top = ws.Range("A1").Top.Width = 100.Height = 100End WithNext fileSet pic = NothingSet file = NothingSet folder = NothingSet fs = NothingSet ws = NothingSet wb = NothingEnd Sub
In diesem Codebeispiel werden alle Bilder aus einem Ordner geladen "C:\Pictures " in das Arbeitsblatt "Sheet1" in die Zelle A1 der Tabelle. Jedes Bild hat eine Größe von 100x100 Pixeln.
Sie können den Ordnerpfad ändern oder die Größe und Position des Bildes an Ihre Bedürfnisse anpassen.
Beachten Sie, dass Sie möglicherweise einen Verweis auf die Bibliothek "Microsoft Scripting Runtime" im Excel VBA Editor einschließen müssen, bevor Sie diesen Code verwenden.
Jetzt wissen Sie, wie Sie ein Bild mit Code in Excel VBA in eine Tabelle laden. Dies ist eine nützliche Fähigkeit bei der Automatisierung von Tabellenkalkulationsprozessen in Excel.
Vorbereiten des Arbeitsblatts
Bevor Sie beginnen, ein Bild mithilfe von Excel VBA-Code in eine Tabelle hochzuladen, müssen Sie das Arbeitsblatt vorbereiten, auf dem sich die Tabelle befindet.
1. Öffnen Sie Excel, und erstellen Sie eine neue Arbeitsmappe oder öffnen Sie eine vorhandene Arbeitsmappe.
2. Klicken Sie unten im Programmfenster auf die Registerkarte «Tabelle1», um zum Arbeitsblatt zu gelangen.
3. Platzieren Sie den Mauszeiger auf der Zelle, in der Sie die Tabelle mit dem Bild platzieren möchten.
4. Klicken Sie mit der rechten Maustaste und wählen Sie die Option Tabelle einfügen, um eine leere Tabelle in das Arbeitsblatt einzufügen.
5. Passen Sie die Tabellengrößen an, fügen Sie bei Bedarf Zeilen und Spalten hinzu oder entfernen Sie sie, um die gewünschte Tabellengröße zu erstellen.
6. Legen Sie die Spaltenüberschriften bei Bedarf fest, indem Sie die entsprechenden Zellen mit Text füllen.
Jetzt können Sie beginnen, das Bild mithilfe von VBA-Code in die erstellte Tabelle hochzuladen.
| Schritt | Die Beschreibung |
|---|---|
| 1 | Öffnen Sie Excel, und erstellen Sie eine neue Arbeitsmappe oder öffnen Sie eine vorhandene Arbeitsmappe. |
| 2 | Klicken Sie unten im Programmfenster auf die Registerkarte «Tabelle1», um zum Arbeitsblatt zu gelangen. |
| 3 | Platzieren Sie den Mauszeiger auf der Zelle, in der Sie die Tabelle mit dem Bild platzieren möchten. |
| 4 | Klicken Sie mit der rechten Maustaste und wählen Sie die Option Tabelle einfügen, um eine leere Tabelle in das Arbeitsblatt einzufügen. |
| 5 | Passen Sie die Tabellengrößen an, fügen Sie bei Bedarf Zeilen und Spalten hinzu oder entfernen Sie sie, um die gewünschte Tabellengröße zu erstellen. |
| 6 | Legen Sie die Spaltenüberschriften bei Bedarf fest, indem Sie die entsprechenden Zellen mit Text füllen. |
Erstellen einer Schaltfläche zum Laden eines Bildes
Um eine Schaltfläche zu erstellen, die ein Bild mit VBA in Excel in eine Tabelle lädt, können wir ein elektronisches Formular wie einen commandButton verwenden . Dadurch können wir eine interaktive Schaltfläche erstellen, auf die Benutzer klicken, um das Bild hochzuladen.
Im Folgenden finden Sie einen Beispielcode, der eine Schaltfläche erstellt und das Klickereignis einer Schaltfläche verarbeitet, um ein Bild zu laden:
Private Sub CommandButton_Click()Dim imagePath As StringDim pic As Picture' Открываем диалоговое окно выбора файлаimagePath = Application.GetOpenFilename("Изображения (*.jpg;*.jpeg;*.png),*.jpg;*.jpeg;*.png")' Проверяем, что файл был выбранIf imagePath <> "False" Then' Удаляем предыдущую картинкуIf Not pic Is Nothing Thenpic.DeleteEnd If' Вставляем новую картинкуSet pic = ActiveSheet.Pictures.Insert(imagePath)' Размещаем картинку в ячейке A1With pic.ShapeRange.LockAspectRatio = msoFalse.Left = ActiveSheet.Range("A1").Left.Top = ActiveSheet.Range("A1").Top.Width = ActiveSheet.Range("A1").Width.Height = ActiveSheet.Range("A1").HeightEnd WithEnd IfEnd Sub
Dieser Code verwendet die integrierte Funktion GetOpenFileName , damit der Benutzer eine Bilddatei auswählen kann. Der Code fügt dann das ausgewählte Bild in eine Tabelle im aktiven Excel-Arbeitsblatt ein und platziert es in Zelle A1.
Um diesen Code zu verwenden, müssen Sie zunächst eine Befehlsschaltfläche auf Ihrem Arbeitsblatt erstellen. Klicken Sie dann mit der rechten Maustaste auf die Schaltfläche und wählen Sie Code anzeigen. Kopieren Sie im geöffneten VBA-Editor-Fenster den obigen Code und fügen Sie ihn in den Handler für das Schaltfläche-Klickereignis ein.
Wenn der Benutzer nun auf die Schaltfläche klickt, kann er die Bilddatei auswählen und das ausgewählte Bild wird hochgeladen und in der Tabelle angezeigt.
Auswählen eines zu ladenden Bildes
Bevor Sie ein Bild mit VBA in eine Excel-Tabelle hochladen können, müssen Sie ein geeignetes Bild zum Hochladen auswählen. Sie können ein Bild aus vorhandenen Dateien auf Ihrem Computer auswählen oder es aus dem Internet herunterladen.
Wenn Sie ein vorhandenes Bild verwenden möchten, stellen Sie sicher, dass es ein geeignetes Format hat (z. B. .jpg oder .png) und befindet sich in einem bestimmten Ordner auf Ihrem Computer.
Wenn Sie ein Bild aus dem Internet herunterladen möchten, suchen Sie im Browser nach einem geeigneten Bild, klicken Sie mit der rechten Maustaste auf das Bild und wählen Sie Bild speichern unter. Geben Sie dann den Ordner an, in dem Sie das Bild speichern möchten, und klicken Sie auf Speichern. Denken Sie daran, sich den Dateipfad zu merken.
Nachdem Sie ein Bild ausgewählt haben, können Sie es mithilfe von VBA-Code in eine Excel-Tabelle hochladen.
| Handeln | Die Beschreibung |
|---|---|
| Vorhandenes Bild auswählen | Stellen Sie sicher, dass das Bild das richtige Format hat und sich im richtigen Ordner befindet |
| Bild aus dem Internet herunterladen | Suchen Sie im Browser nach einem geeigneten Bild und speichern Sie es auf Ihrem Computer |
| Dateipfad merken | Denken Sie daran, sich den Bildpfad zu merken, um ihn im VBA-Code zu verwenden |
Lädt das ausgewählte Bild auf ein Blatt
Führen Sie die folgenden Schritte aus, um das ausgewählte Bild auf ein Blatt hochzuladen:
- Erstellen Sie eine Schaltfläche oder ein anderes Steuerelement auf dem Arbeitsblatt, das für die Auswahl des Bildes verantwortlich ist.
- Schreiben Sie den VBA-Code, der aufgerufen wird, wenn Sie auf eine Schaltfläche oder ein anderes Steuerelement klicken. Beispielcode kann unten angegeben werden:
Sub LoadImage()Dim imagePath As VariantimagePath = Application.GetOpenFilename("Images (*.png; *.jpg; *.jpeg), *.png; *.jpg; *.jpeg")If imagePath = False Then Exit SubActiveSheet.Pictures.Insert(imagePath).SelectWith Selection.ShapeRange.LockAspectRatio = msoFalse.ShapeRange.Width = 200.ShapeRange.Height = 200End WithEnd Sub
- Die erste Zeile deklariert eine ImagePath-Variable vom Typ Variant. Diese Variable speichert den Pfad zum ausgewählten Bild.
- Die zweite Zeile öffnet das Dialogfeld zur Auswahl der Bilddatei und schreibt den ausgewählten Pfad in die Variable ImagePath .
- Die dritte Zeile überprüft, ob eine Datei ausgewählt wurde. Wenn der Benutzer die Auswahl aufgehoben hat, wird die Codeausführung mit dem Befehl Exit Sub unterbrochen.
- In der vierten Zeile wird ein Bild aus einer Datei mit dem Befehl ActiveSheet in das aktive Tabellenblatt eingefügt.Pictures.Insert(imagePath) . Das Ergebnis des Einfügens des Bildes wird dann mit der Select-Methode ausgewählt.
- Die nachfolgenden Zeilen legen die Größe des eingefügten Bildes fest. In diesem Beispiel werden die Breite und Höhe des Bildes auf 200 Pixel festgelegt.
Beachten Sie, dass dieser Code davon ausgeht, dass das Bild vom Benutzer über ein Dialogfeld ausgewählt wird. Wenn Sie ein bestimmtes Bild laden müssen, ändern Sie einfach den Wert der Variablen ImagePath in Pfad und Dateinamen.
Verwenden Sie den Befehl ActiveSheet.Pictures.Insert und VBA-Code können Sie das ausgewählte Bild bequem in ein beliebiges Excel-Arbeitsblatt laden.