Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Bild in Excel Tabelle einfügen

VBA - Bild in Excel Tabelle einfügen
06.01.2018 13:06:55
Tamara
Hallo :D
Wie lautet der Code, wenn ich ein Bild(Image) vom UserForm in die Excel Tabelle in Spalte A1, A2, A3 usw. einfügen möchte?
Mein bisheriger, jedoch fehlgeschlagener Code lautet:
If CheckBox1.Value = True Then Cells(last, 1).Value = Image1
If CheckBox2.Value = True Then Cells(last, 1).Value = Image2
ich wollte halt, dass wenn ich eines der Checkboxen anklicke bzw auswähle, dass dann durch das Klicken des Commandbutton, auf Spalte A, A1 etc. da entsprechende Bild eingefügt wird
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Bild in Excel Tabelle einfügen
06.01.2018 14:18:05
fcs
Hallo Tamara,
meines Wissen kann man das Image nicht direkt aus dem Userform eine Zelle übertragen/kopieren.
Hierzu muss man auf die Bilddatei aus der das Image generiert wurde zugreifen und diese Grafik-Datei ins Tabellenblatt laden und in der gewünschten Zelle positionieren/formatieren.
Alternativer Weg: du legst die Bilder der Images in einem separaten Blatt ab und kopierst die Bilder dann entsprechend der Auswahl im Userform in die gewünschte Zelle.
Der alternative Weg ist in der Umsetzung der einfachere - insbesondere hast du hier alle Daten in einer Datei und muss nicht auf externe Grafik-Dateien zugreifen.
Gruß
Franz
Beispiel-Code für Einfügen der in einem separaten Tabellen-Blatt abgelegten Bilder via ode im Userform
Private Sub CommandButton1_Click()
'Einfügen Daten und Bilder
Dim last
Dim wksData As Worksheet
Dim wksBild As Worksheet, objBild As Shape
Set wksData = Worksheets("Tabelle1")'Tabellenblatt in das eingefügt werden soll
Set wksBild = Worksheets("Bilder")'Tabellenblatt mit den zu kopierenden Grafiken
With wksData
If CheckBox1.Value = True Then
Set objBild = wksBild.Shapes("Grafik_Nr  1")
ElseIf CheckBox2.Value = True Then
Set objBild = wksBild.Shapes("Grafik_Nr  2")
End If
.Activate
last = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 'test-Zeile
.Cells(last, 2) = objBild.Name 'test-Zeile
.Cells(last, 1).Select 'Einfügezelle muss selektiert sein, _
sonst muss man die eingefügte Grafik zusätzlich positionieren
objBild.Copy
ActiveSheet.Paste
.Cells(last, 2).Activate
End With
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bilder in Excel Tabellen einfügen mit VBA


Schritt-für-Schritt-Anleitung

Um ein Bild in eine Excel-Tabelle einzufügen, kannst Du den folgenden VBA-Code verwenden. Dieser Code fügt Bilder basierend auf den Auswahlkästchen in einem UserForm ein.

  1. Öffne den VBA-Editor (Alt + F11).
  2. Füge ein UserForm hinzu und platziere zwei Checkboxen (CheckBox1 und CheckBox2) sowie einen CommandButton.
  3. Erstelle zwei Bilder (z.B. "Grafik_Nr 1" und "Grafik_Nr 2") auf einem separaten Arbeitsblatt namens "Bilder".
  4. Verwende den folgenden Code im UserForm:
Private Sub CommandButton1_Click()
    'Einfügen Daten und Bilder
    Dim last
    Dim wksData As Worksheet
    Dim wksBild As Worksheet, objBild As Shape
    Set wksData = Worksheets("Tabelle1") 'Tabellenblatt, in das eingefügt werden soll
    Set wksBild = Worksheets("Bilder") 'Tabellenblatt mit den zu kopierenden Grafiken

    With wksData
        If CheckBox1.Value = True Then
            Set objBild = wksBild.Shapes("Grafik_Nr 1")
        ElseIf CheckBox2.Value = True Then
            Set objBild = wksBild.Shapes("Grafik_Nr 2")
        End If
        .Activate
        last = .Cells(.Rows.Count, 2).End(xlUp).Row + 1 'Bestimme die nächste freie Zeile
        .Cells(last, 2) = objBild.Name 'Namen des Bildes in die Zelle einfügen
        .Cells(last, 1).Select 'Einfügezelle auswählen
        objBild.Copy
        ActiveSheet.Paste
        .Cells(last, 2).Activate
    End With
End Sub

Häufige Fehler und Lösungen

  • Fehler: Bild wird nicht eingefügt.

    • Lösung: Stelle sicher, dass die Bildnamen im Code exakt mit den Namen auf dem Arbeitsblatt "Bilder" übereinstimmen.
  • Fehler: Keine Bilder sichtbar.

    • Lösung: Überprüfe, ob die Checkboxen tatsächlich ausgewählt sind und das Arbeitsblatt "Bilder" korrekt eingerichtet ist.

Alternative Methoden

Eine alternative Methode, um Bilder in eine Excel-Tabelle einzufügen, besteht darin, die Bilder direkt von der Festplatte zu importieren. Hier ist ein einfacher VBA-Code, um ein Bild manuell auszuwählen und in die Excel-Tabelle einzufügen:

Sub BildEinfügen()
    Dim ws As Worksheet
    Dim BildPfad As String
    Set ws = ThisWorkbook.Worksheets("Tabelle1")

    BildPfad = Application.GetOpenFilename("Bilder (*.jpg; *.jpeg; *.png), *.jpg; *.jpeg; *.png", , "Wähle ein Bild aus")
    If BildPfad <> "False" Then
        ws.Pictures.Insert(BildPfad).Select
        Selection.Top = ws.Cells(1, 1).Top
        Selection.Left = ws.Cells(1, 1).Left
    End If
End Sub

Praktische Beispiele

  • Beispiel 1: Um Fotos in eine Excel-Tabelle einzufügen, kannst Du die oben genannten Methoden nutzen, um die Bilder entweder durch VBA oder durch manuelles Einfügen hinzuzufügen.
  • Beispiel 2: Wenn Du Excel-Daten aus einem Bild einfügen möchtest, kannst Du ein Bild von einer Tabelle in Excel einfügen und dann die Daten manuell übertragen oder ein OCR-Tool verwenden, um die Daten zu extrahieren.

Tipps für Profis

  • Verwende die Methode Shape anstelle von Picture, um mehr Kontrolle über die Bildformatierung zu erhalten.
  • Wenn Du viele Bilder verwalten musst, erstelle ein benutzerdefiniertes Formular, um die Auswahl zu erleichtern.
  • Achte darauf, die Bildgröße vor dem Einfügen zu optimieren, um die Dateigröße der Excel-Datei gering zu halten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bilder gleichzeitig in die Excel-Tabelle einfügen? Du kannst eine Schleife in VBA verwenden, um mehrere Bilder aus einer Liste oder einem Array hinzuzufügen.

2. Funktioniert das Bild einfügen in allen Excel-Versionen? Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch können einige Funktionen je nach Version variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige