Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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?
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
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
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!"
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige