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

Forumthread: Bild aus Userform in Zelle einfügen

Bild aus Userform in Zelle einfügen
28.02.2017 15:45:41
feuerharry
Hy brauche bitte eure Hilfe
Habe nach Auswahl (Combobox) von einen externen Ordner ein Bild(jpg) in die Userform(image) zum Anzeigen gebracht.
Nun möchte ich das Bild in der zugehörigen Zeile einfügen.
Habe einen Code von Nepumuk (860to864: Bild aus Userform in Zelle) gefunden.
Dieser Code tragt das Bild nur in der aktiverten Zelle ein, nicht in die gewünschte Zelle.
Bin für jede Hilfe dankbar.
Beispiel:
https://www.herber.de/bbs/user/111832.txt
https://www.herber.de/bbs/user/111833.xlsx
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus Userform in Zelle einfügen
28.02.2017 16:15:53
Mullit
Hallo,
na, das geht doch locker:

VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12
Gruß, Mullit
Anzeige
AW: Bild aus Userform in Zelle einfügen
28.02.2017 16:33:45
feuerharry
Hy
Danke für dein Interesse
Leider nicht zufriedenstellend
Möchte wenn ich Maus auswähle in Zelle C4, bei Wurm C6 usw.....
https://www.herber.de/bbs/user/111833.xlsx
AW: Bild aus Userform in Zelle einfügen
28.02.2017 17:17:42
Mullit
Hallo,
ja dammich noch mal, wenn Du schon von Nepumuk den Code pfannenfertig vorgesetzt bekommst, brauchst doch selbst nur noch mit ner Select-Fallunterscheidung ran.
Und wenn Du schon ne Form am Start hast, würde es mich äußerst zufriedenstellen, wenn Du sie gleich mit hochlädst und ich mir nicht alles aus den Finger saugen muß....

VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12
Gruß, Mullit
Anzeige
AW: Bild aus Userform in Zelle einfügen
28.02.2017 18:03:22
feuerharry
Hy Danke nomal
Ist schon etwas besser, Habe aber über 100 jpg Bilder (Namensverzeichnis) und es kommen immer welche dazu und weg.
Geht das nicht über eine schleife, so das er sich den Bildnamen sucht in Spalte B und das Bild in Spalte J in der selben Zeile einfügt .
AW: Bild aus Userform in Zelle einfügen
28.02.2017 18:15:51
Mullit
Hallo,
....yo, geht...
Gruß, Mullit
Anzeige
AW: Bild aus Userform in Zelle einfügen
01.03.2017 09:03:30
feuerharry
Hy Danke nomal
Ist schon etwas besser, Habe aber über 100 jpg Bilder (Namensverzeichnis) und es kommen immer welche dazu und weg.
Geht das nicht über eine schleife, so das er sich den Bildnamen sucht in Spalte B und das Bild in Spalte J in der selben Zeile einfügt. So das Combobox bei Auswahl die Zelle in der Tabelle markiert
Lade eine test-Datei hoch.
https://www.herber.de/bbs/user/111843.xlsm
Danke im Voraus feuerharry
Anzeige
AW: Bild aus Userform in Zelle einfügen
01.03.2017 15:18:45
Mullit
Hallo,
was sehen meine entzündeten Augen, eine Testdatei, der Glaube an das Gute im Menschen ist bei mir wieder da, aber da benötigst Du nix anderes mehr, Du hast schon alles:
  1. die Combobox liest Deine Viecher-Namen ein ---> check ✔

  2. die Bilder werden bei Dir im Change-Event über die LoadPicture-Methode zugewiesen ---> check ✔

  3. die Select Case Anweisung in der 2. Code-Variante von Nepumuk weist Dein Viehzeug den verschiedenen Zellen zu ---> check ✔
...Die mußt Du in der Paste-Anweisung ggf. noch selbst anpassen und die TextBox durch die ComboBox ersetzen, das mußt Du irgendwie alleine gebacken kriegen...
Gruß, Mullit
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bild aus Userform in Zelle einfügen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne Excel und gehe in den VBA-Editor (ALT + F11). Klicke auf "Einfügen" und dann auf "UserForm", um eine neue Userform zu erstellen.

  2. Combobox hinzufügen: Ziehe eine Combobox auf die Userform, um die Bilder auszuwählen.

  3. Image-Control hinzufügen: Füge ein Image-Control hinzu, um das ausgewählte Bild anzuzeigen.

  4. Code zur Auswahl des Bildes: Verwende den folgenden Code, um das Bild in der Userform anzuzeigen, wenn du einen Eintrag in der Combobox auswählst:

    Private Sub ComboBox1_Change()
       Dim BildPfad As String
       BildPfad = "C:\Dein\Pfad\" & Me.ComboBox1.Value & ".jpg"
       Me.Image1.Picture = LoadPicture(BildPfad)
    End Sub
  5. Bild in Zelle einfügen: Um das Bild in die gewünschte Zelle einzufügen, kannst du den folgenden Code verwenden:

    Private Sub CommandButton1_Click()
       Dim ZielZelle As Range
       Set ZielZelle = ThisWorkbook.Sheets("DeinBlatt").Range("J" & Me.ComboBox1.ListIndex + 1)
       Me.Image1.Picture = LoadPicture(BildPfad)
       ZielZelle.Select
       ActiveSheet.Pictures.Insert(BildPfad).Select
       Selection.Top = ZielZelle.Top
       Selection.Left = ZielZelle.Left
    End Sub

Häufige Fehler und Lösungen

  • Bild wird nicht angezeigt: Stelle sicher, dass der Bildpfad korrekt ist und die Datei existiert. Überprüfe auch, ob die Dateiendung (.jpg) stimmt.

  • Bild wird in der falschen Zelle eingefügt: Überprüfe den Code zur Bestimmung der Zielzelle. Achte darauf, dass die richtige Zeile für die Combobox-Auswahl verwendet wird.

  • Fehlermeldung beim Einfügen: Prüfe, ob die Excel-Version VBA unterstützt. Der Code sollte in Excel 2007 oder höher funktionieren.


Alternative Methoden

  • Direktes Einfügen über VBA: Anstelle einer Userform kannst du auch direkt im Arbeitsblatt eine Dropdown-Liste (Datenüberprüfung) erstellen und das Bild basierend auf der Auswahl dort einfügen.

  • PowerPoint verwenden: Wenn du häufig Bilder in Zellen einfügst, könnte es sinnvoll sein, PowerPoint zu verwenden, um eine Präsentation mit den Bildern zu erstellen, die dann in Excel eingebettet wird.


Praktische Beispiele

  • Beispiel mit Schleife: Wenn du mehrere Bilder hast und sie automatisch einfügen möchtest, kannst du eine Schleife verwenden, um die Bildnamen aus einer Liste in Spalte B zu lesen und sie in Spalte J einzufügen. Hier ein einfaches Beispiel:

    Dim i As Integer
    For i = 1 To 100 ' passe die Schleife je nach Anzahl der Bilder an
       Dim BildName As String
       BildName = ThisWorkbook.Sheets("DeinBlatt").Cells(i, 2).Value & ".jpg"
       Dim ZielZelle As Range
       Set ZielZelle = ThisWorkbook.Sheets("DeinBlatt").Cells(i, 10) ' Spalte J
       ZielZelle.Select
       ActiveSheet.Pictures.Insert("C:\Dein\Pfad\" & BildName).Select
       Selection.Top = ZielZelle.Top
       Selection.Left = ZielZelle.Left
    Next i

Tipps für Profis

  • Verwende benannte Bereiche: Um die Wartbarkeit deines Codes zu verbessern, kannst du benannte Bereiche für deine Zellen verwenden.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler elegant zu handhaben.

  • Optimierung durch dynamische Pfade: Arbeite mit dynamischen Pfaden, um die Flexibilität zu erhöhen, insbesondere wenn sich die Bilddateien häufig ändern.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Bilder gleichzeitig einfügen?
Du kannst eine Schleife verwenden, die alle Bildnamen durchläuft und sie in die entsprechenden Zellen einfügt, wie im praktischen Beispiel gezeigt.

2. Funktioniert dieser Code in Excel 2010?
Ja, der Code sollte in Excel 2010 und neueren Versionen einwandfrei funktionieren. Achte darauf, dass du die richtigen Referenzen gesetzt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige