Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bild über Listbox anzeigen

Bild über Listbox anzeigen
27.07.2005 18:07:54
Marco
hallo leute
Besteht eine Möglichkeit, jpg-Bildern über Listbox-Userform anzuzeigen? Je Listbox-Eintrag entspricht ein Bild, das neben der Listbox angezeigt wird. Bitte um Hilfe!!
lg Marco
Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 18:29:24
Leo
Hi,
wo sind die Bilder, in der userform oder in einem Ordner, oder wo?
mfg Leo
AW: Bild über Listbox anzeigen
27.07.2005 19:13:13
Marco
hi!
Naja, die Bilder sind auf einer CD. Die Listbox sieht so aus:
Private Sub lbxArtikel_Click()
Dim j As Integer, k As Integer, iSize As Integer
Dim cell As Range, ctrl As Control
Set Stammblatt = Worksheets(Stamm)
'---Info-Teil der UF aktualisieren----
With Me
.tbxArtName = lbxArtikel.List(lbxArtikel.ListIndex, 0)
.tbxText = lbxArtikel.List(lbxArtikel.ListIndex, 1)
.tbxArtNummer = Format(lbxArtikel.List(lbxArtikel.ListIndex, 2), "00 00 00 000")
.tbxGrSchluessel = lbxArtikel.List(lbxArtikel.ListIndex, 3)
.tbxGruppe = lbxArtikel.List(lbxArtikel.ListIndex, 4)
.tbxPreisEuroEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 5), "00.00")
.tbxPreisEuroVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 6), "00.00")
.tbxPreisDollarEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 7), "00.00")
.tbxPreisDollarVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 8), "00.00")
.tbxPreisCHFEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 9), "00.00")
.tbxPreisCHFVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 10), "00.00")
.cbxFarbe.Clear
End With
Im Stammblatt (= .tbxArtNummer/Spalte C) sind Artikelnummern enthalten. Diese Artikelnummern sind zugleich Dateinamen + Endung (.jpg). Wie du siehst, werden mehrere dazugehörige Informationen angezeigt bei Klick. Wie ermögliche ich auch ein dazugehöriges Bild anzuzeigen?
lg Marco
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 19:13:37
Marco
hi!
Naja, die Bilder sind auf einer CD. Die Listbox sieht so aus:
Private Sub lbxArtikel_Click()
Dim j As Integer, k As Integer, iSize As Integer
Dim cell As Range, ctrl As Control
Set Stammblatt = Worksheets(Stamm)
'---Info-Teil der UF aktualisieren----
With Me
.tbxArtName = lbxArtikel.List(lbxArtikel.ListIndex, 0)
.tbxText = lbxArtikel.List(lbxArtikel.ListIndex, 1)
.tbxArtNummer = Format(lbxArtikel.List(lbxArtikel.ListIndex, 2), "00 00 00 000")
.tbxGrSchluessel = lbxArtikel.List(lbxArtikel.ListIndex, 3)
.tbxGruppe = lbxArtikel.List(lbxArtikel.ListIndex, 4)
.tbxPreisEuroEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 5), "00.00")
.tbxPreisEuroVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 6), "00.00")
.tbxPreisDollarEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 7), "00.00")
.tbxPreisDollarVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 8), "00.00")
.tbxPreisCHFEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 9), "00.00")
.tbxPreisCHFVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 10), "00.00")
.cbxFarbe.Clear
End With
Im Stammblatt (= .tbxArtNummer/Spalte C) sind Artikelnummern enthalten. Diese Artikelnummern sind zugleich Dateinamen + Endung (.jpg). Wie du siehst, werden mehrere dazugehörige Informationen angezeigt bei Klick. Wie ermögliche ich auch ein dazugehöriges Bild anzuzeigen?
lg Marco
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 19:13:59
Ralf
Hi Marco,
ja, es geht. Lies die Pfadangaben in die Listbox ein. Beim Click-Ereignis weist Du dem Image diesen Pfad zu. Bsp.: (Hier werden die Pfade aus der Tabelle ausgelesen)

Private Sub ListBox1_Click()
Image1.Picture = LoadPicture(ListBox1.Value)
End Sub


Private Sub UserForm_Activate()
Dim x, b
For x = 0 To 2
b = Range("A" & x + 1)
ListBox1.AddItem b
Next x
End Sub

Ciao, Ralf
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 19:45:10
Marco
ich habe mal eine neue datei zum testen erstellt und hier kommt folgende Fehlermeldung:
Datei nicht gefunden
Image1.Picture = LoadPicture(ListBox1.Value)
Lt. deiner Nachricht sind die Pfadangaben in der Tabelle. Wo muss ich sie da eingeben? Wie unterbrücke ich Fehlermeldungen, wenn keine CD vorhanden ist?
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 19:59:19
Marco
ich habe mal eine neue datei zum testen erstellt und hier kommt folgende Fehlermeldung:
Datei nicht gefunden
Image1.Picture = LoadPicture(ListBox1.Value)
Lt. deiner Nachricht sind die Pfadangaben in der Tabelle. Wo muss ich sie da eingeben? Wie unterbrücke ich Fehlermeldungen, wenn keine CD vorhanden ist?
Anzeige
AW: Bild über Listbox anzeigen
27.07.2005 21:25:18
Leo
Hi,
wenn das Ganze halbwegs sicher ablaufen soll, musst du prüfen, ob ein CD-Laufwerk
vorhanden ist, ob es bereit ist, sprich, ein Datenträger eingelegt ist und schließlich
noch, ob der Pfad und Dateien vorhanden sind.
mfg Leo
AW: Bild über Listbox anzeigen
27.07.2005 21:30:12
Ralf
Hi Marco,
ich bin davon ausgegangen, dass Du eine Userform benutzt. Das scheint entweder nicht der Fall zu sein, oder Du hast nicht den kompletten Pfad in der Tabelle. Das mußt Du schon sicherstellen! Es genügt nicht, wenn da Kaffetasse.jpg steht. Da muß dann schon z. Bsp. F:\Bilder\Haushaltsartikel\Kaffeetasse.jpg stehen (oder sowas in der Art) Notfalls mußt Du halt die fehlenden Pfadangaben ergänzen.
Für den Fall, daß Du keine Form benutzt, hier mal eine andere Möglichkeit. Füge den nachfolgenden Code in ein allgemeines Modul ein. Ich habe hier die Quelle für die Pfadangaben in Spalte A gesetzt. das mußt Du notfalls anpassen. Der Code fügt Dir Bildkommentare ein. Damit sparst Du Dir die Listbox und alles anderen Krempel. Du brauchst also dann nur noch das Makro 'BilderKommentar' starten.

Sub BilderKommentar()
Dim x%, oComm As Comment, sPfad$, iEnde%
iEnde = ActiveCell.SpecialCells(xlLastCell).Row
For x = 0 To iEnde - 1
Range("A" & x + 1).ClearComments
sPfad = Range("A" & x + 1)
' Kommentar einfügen
Set oComm = ActiveSheet.Range("A" & x + 1).AddComment
With oComm
.Shape.Fill.UserPicture sPfad
.Shape.Height = 150 'oder wie groß auch immer...
.Shape.Width = .Shape.Height * 0.75
End With
Next x
End Sub

Ciao, Ralf
Anzeige
AW: Bild über Listbox anzeigen
28.07.2005 08:48:22
Marco
hallo Ralf!
Vielen Dank für die Lösung! Ich denke, wir gehen in die falsche Richtung. Ich habe eine mehrspaltige Listbox in einer Userform. Die Artikelnummern in der mehrspaltigen Listbox sind in der Spalte 3. Diese Artikelnnumern stellen zugleich Dateinamen dar. Nur noch eine Endung muss hinzugefügt werden (jpg). Ist das auch möglich bzw. hast du so einen Code für mich?
lg Marco
Anzeige
AW: Bild über Listbox anzeigen
28.07.2005 11:52:38
Ralf
Hi Marko,
wenn nur Artikelnummern in Spalte 3 stehen, mußt Du den Kompletten Pfad ergänzen. Also Laufwerksbuchstabe:\Order\Unterordner...\
und die Dateiendung anhängen. Wie, das siehst Du im Beispiel unten. Die Namen für die Schaltfläche und das Anzeigeelement müssen natürlich auch noch angepaßr werden. Ansonsten sollte der Code das sein, wonach Du suchtest.

Private Sub CommandButton1_Click()
Dim zeile As Long, wert$
On Error GoTo Fehler
zeile = ListBox1.ListIndex
'Den Pfad vervollständigen.
'Bsp.: In Spalte 3 der Listbox steht 'Kaffeetasse_blau'
'Der komplette Pfad ist aber 'L:\Bilder\Kaffeetass_blau.jpg'
wert = "L:\Bilder\" & ListBox1.List(zeile, 2) & ".jpg"
Image1.Picture = LoadPicture(wert)
Exit Sub
Fehler:
MsgBox "Es ist ein Fehler aufgetreten. " & vbCrLf & _
"Überprüfen Sie bitte ob die Pfadangabe korrekt ist oder ein Datenträger eingelegt wurde.", _
vbOKOnly + vbCritical, "Anwendungsfehler"
End Sub

Ciao, Ralf
Anzeige
AW: Bild über Listbox anzeigen
28.07.2005 15:11:11
Marco
hey Ralph,
supercool. Hab das angepasst und das geht wie am Schnürchen! Brauche noch die Möglichkeit, dass das Bild sich an die größe des image1-feldes anpasst. Es wäre auch denkbar, ein optionsfeld einzuführen, indem ich zw. original- und an das Bild angepassten Größe wählen kann.
viele liebe grüße
Marco
Anzeige
AW: Bild über Listbox anzeigen
28.07.2005 15:29:14
Ralf
Hallo Macro,
...sorry... it's a pun...:-)
also Marco,
setz die PictureSizeMode-Eigenschaft auf 3. Damit passt sich das Bild der Größe der Imagebox an.
Ciao, Ralf
AW: Bild über Listbox anzeigen
28.07.2005 19:34:26
Marco
danke ralph, das hätte ich mir schon selber denken können, denn sowas hab ich schon mal irgendwo gelesen.
Kann ich eigentlich dieses ausgewertete Bild in image1.picture ausdrucken?
lg Marco
Anzeige
AW: Bild über Listbox anzeigen
28.07.2005 23:27:13
Marco
vielen dank ralph für deine bisherige hilfen! Hat sich erledigt mit Me.Printform
AW: Bild über Listbox anzeigen
29.07.2005 08:32:10
Hajo_Zi
Hallo Marco,
Dein Beitrag liest sich so als ob das Problem gelöst ist. Warum ist der Beitrag al offen gekennzeichnet?
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Bild über Listbox anzeigen
29.07.2005 09:00:53
Marco
sorry, nun ist er geschlossen
AW: Bild über Listbox anzeigen
27.07.2005 19:14:06
Marco
hi!
Naja, die Bilder sind auf einer CD. Die Listbox sieht so aus:
Private Sub lbxArtikel_Click()
Dim j As Integer, k As Integer, iSize As Integer
Dim cell As Range, ctrl As Control
Set Stammblatt = Worksheets(Stamm)
'---Info-Teil der UF aktualisieren----
With Me
.tbxArtName = lbxArtikel.List(lbxArtikel.ListIndex, 0)
.tbxText = lbxArtikel.List(lbxArtikel.ListIndex, 1)
.tbxArtNummer = Format(lbxArtikel.List(lbxArtikel.ListIndex, 2), "00 00 00 000")
.tbxGrSchluessel = lbxArtikel.List(lbxArtikel.ListIndex, 3)
.tbxGruppe = lbxArtikel.List(lbxArtikel.ListIndex, 4)
.tbxPreisEuroEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 5), "00.00")
.tbxPreisEuroVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 6), "00.00")
.tbxPreisDollarEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 7), "00.00")
.tbxPreisDollarVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 8), "00.00")
.tbxPreisCHFEK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 9), "00.00")
.tbxPreisCHFVK = Format(lbxArtikel.List(lbxArtikel.ListIndex, 10), "00.00")
.cbxFarbe.Clear
End With
Im Stammblatt (= .tbxArtNummer/Spalte C) sind Artikelnummern enthalten. Diese Artikelnummern sind zugleich Dateinamen + Endung (.jpg). Wie du siehst, werden mehrere dazugehörige Informationen angezeigt bei Klick. Wie ermögliche ich auch ein dazugehöriges Bild anzuzeigen?
lg Marco
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Bild über Listbox anzeigen


Schritt-für-Schritt-Anleitung

  1. Erstelle eine Userform mit einer Listbox und einem Image-Control.

  2. Füge die Bilderpfade zu deiner Listbox hinzu. Du kannst dabei die Artikelnummern als Dateinamen verwenden und die Dateiendung .jpg anhängen. Der Code dazu könnte so aussehen:

    Private Sub UserForm_Activate()
       Dim x As Integer
       For x = 0 To 2
           ListBox1.AddItem "Artikel_" & x + 1 ' Beispielartikel hinzufügen
       Next x
    End Sub
  3. Lade das Bild beim Klicken auf die Listbox. Hier ist ein Beispiel, wie du das Bild basierend auf der Auswahl in der Listbox anzeigen kannst:

    Private Sub ListBox1_Click()
       Dim bildPfad As String
       bildPfad = "C:\Bilder\" & ListBox1.Value & ".jpg" ' Vervollständige den Pfad
       Image1.Picture = LoadPicture(bildPfad)
    End Sub
  4. Überprüfe die Pfadangaben, um sicherzustellen, dass sie korrekt sind und dass die CD eingelegt ist (falls die Bilder von dort geladen werden).


Häufige Fehler und Lösungen

  • Fehlermeldung: Datei nicht gefunden
    Überprüfe, ob der Pfad korrekt ist. Achte darauf, dass die Endung .jpg hinzugefügt wird. Stelle sicher, dass die CD eingelegt ist und der Pfad zu den Bildern korrekt ist.

  • Kein CD-Laufwerk vorhanden
    Du solltest prüfen, ob ein CD-Laufwerk vorhanden ist und ob es bereit ist. Hier ist ein Beispiel für eine einfache Prüfung:

    If Dir("D:\", vbDirectory) = "" Then
       MsgBox "Kein CD-Laufwerk gefunden."
    End If

Alternative Methoden

Eine Alternative zur Verwendung einer Listbox wäre das Einfügen von Bildern als Kommentare in Zellen. Hier ist ein Beispiel, wie du dies umsetzen kannst:

Sub BilderKommentar()
    Dim x As Long, oComm As Comment, sPfad As String
    For x = 1 To 10 ' Beispiel für 10 Bilder
        sPfad = "C:\Bilder\Bild" & x & ".jpg"
        Set oComm = ActiveSheet.Cells(x, 1).AddComment
        With oComm
            .Shape.Fill.UserPicture sPfad
            .Shape.Height = 100
            .Shape.Width = 100
        End With
    Next x
End Sub

Praktische Beispiele

Hier ist ein vollständiges Beispiel, das die Schritte zusammenfasst:

Private Sub ListBox1_Click()
    Dim bildPfad As String
    On Error GoTo Fehler

    bildPfad = "C:\Bilder\" & ListBox1.Value & ".jpg" ' Pfad anpassen
    Image1.Picture = LoadPicture(bildPfad)
    Exit Sub

Fehler:
    MsgBox "Fehler: " & Err.Description
End Sub

Füge diesen Code in das Click-Ereignis der Listbox ein. Wenn du auf einen Listeneintrag klickst, wird das entsprechende Bild angezeigt.


Tipps für Profis

  • Bildergröße anpassen: Um die Größe des Bildes in der Image-Control anzupassen, setze die PictureSizeMode-Eigenschaft auf 3. Dadurch wird das Bild an die Größe des Controls angepasst.

  • Vervollständige den Pfad: Stelle sicher, dass du den vollständigen Pfad für die Bilder in der Listbox oder in den Zellen hast, um Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich den Pfad für die Bilder dynamisch setzen?
Du kannst eine Textbox verwenden, um den Pfad für die Bilder einzugeben und dann diesen Pfad im Code verwenden.

2. Kann ich die Bilder auch drucken?
Ja, du kannst das Bild in der Image-Control drucken, indem du Me.PrintForm verwendest.

3. Wie kann ich überprüfen, ob die CD verfügbar ist?
Verwende die Dir-Funktion, um zu prüfen, ob der Pfad zum CD-Laufwerk existiert und ob Dateien vorhanden sind.

4. Was mache ich, wenn die Bilder nicht angezeigt werden?
Überprüfe die Pfade und stelle sicher, dass die Dateiendung korrekt ist und dass die Bilder im angegebenen Verzeichnis vorhanden sind.

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