Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
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
Inhaltsverzeichnis

Image1 klick in Userform1 Anzeigen

Image1 klick in Userform1 Anzeigen
02.11.2021 07:51:18
Oraculix
Hallo
In der Tabelle1 in Spalte B Stehen Filmnamen wenn ich einen Namen anklicke wird mir ein Bild Image1 angezeigt.
Wenn ich dann auf Image1 klicke öffnet sich die Userform1. Diese enthält ein Image24 und eine Listbox
Lst_Treffer Spalte B aus Tabelle1. Der zu ermittelnde Wert steht in Spalte B
Frage :
Wie müsste ein VBA Code aussehen wenn ich in Tabelle1 auf Image1 klicke das genau dieses Bild dann in der Userform1 beim klick öffnet?
Leider ist es nicht möglich eine Arbeitsmappe mit dem Ausmaß zu erstellen wegen der 300kb Regel im Forum.
Danke
'Öffnet Userform1 nach klick auf Bild

Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm1.Lst_Treffer.Text = BildName ''''''''''''Statt Text müsste da was anderes rein wert aus Tabelle1 Spate B in  Listbox
Lst_Treffer suchen finden und Bild ausgeben,
UserForm1.Show
End Sub
Gruß
Oraculix

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Image1 klick in Userform1 Anzeigen
02.11.2021 09:41:11
Nepumuk
Hallo,
1. Das funktioniert nur, wenn die ListBox im Initialize-Event des UserForms gefüllt wird.
2. Ich habe keine Ahnung wo "BildName" her kommt.

Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim lngIndex As Long
Call Load(Object:=UserForm1)
With UserForm1
With .Lst_Treffer
For lngIndex = 0 To .ListCount - 1
If .List(lngIndex, 0) = BildName Then
.ListIndex = lngIndex
Exit For
End If
Next
End With
Call .Show
End With
End Sub
Gruß
Nepumuk
AW: Image1 klick in Userform1 Anzeigen
02.11.2021 10:04:08
Oraculix
Servus und Danke
Funktioniert ohne Fehler aber es wird nicht dieses Bild angezeigt das ich in Tabelle1 anklicke!
Ich habe da schon verschiedene Varianten versucht aber die Userform1 startet fast immer mit der Auswahl 20
Lst_Treffer.ListIndex = 0 nützt da gar nichts ob aktiviert oder deaktiviert.
Sub UserForm_Activate()
Lst_Treffer.ListIndex = 0
End Sub

Private Sub UserForm_Initialize()
Dim lngptrHwnd As LongPtr, lngptrStyle As LongPtr
Dim objArrayList As Object
Dim lngColumn As Long
Top = -23
Call Lst_Treffer_befüllen
'Listbox Treffer Spalten einstellen
With Lst_Treffer
.ColumnCount = 5
.ColumnHeads = False
.ColumnWidths = "6cm;6cm;1,7cm;1,2cm;3,2cm"
End With
End Sub
Ich denke es liegt an der Befüllung der Listbox
'Befüllung der LST_Treffer Listbox

Private Sub Lst_Treffer_befüllen(Optional ByVal Ftext As String = vbNullString)
Dim lngRow As Long, ialngIndex As Long
Dim avntValus As Variant
Dim astrValues() As String
With Worksheets("FilmDb")
avntValus = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 8)).Value
For lngRow = LBound(avntValus, 1) To UBound(avntValus, 1)
If Ftext = vbNullString Or InStr(1, avntValus(lngRow, 1) & avntValus(lngRow, 2) & avntValus(lngRow, 3) & _
avntValus(lngRow, 6) & avntValus(lngRow, 7) & avntValus(lngRow, 8), Ftext, vbTextCompare) > 0 Then
ReDim Preserve astrValues(6, ialngIndex)
astrValues(0, ialngIndex) = avntValus(lngRow, 1)
astrValues(1, ialngIndex) = avntValus(lngRow, 2)
astrValues(2, ialngIndex) = avntValus(lngRow, 3)
astrValues(3, ialngIndex) = avntValus(lngRow, 4)
astrValues(4, ialngIndex) = avntValus(lngRow, 6)
astrValues(5, ialngIndex) = avntValus(lngRow, 7)
astrValues(6, ialngIndex) = avntValus(lngRow, 8)
ialngIndex = ialngIndex + 1
End If
Next
End With
If ialngIndex > 0 Then
Lst_Treffer.Column = astrValues
Else
Call Lst_Treffer.Clear
End If
End Sub
Also der Bildname kommt aus Tabelle1 Spalte 2
Anzeige
AW: Image1 klick in Userform1 Anzeigen
02.11.2021 10:12:49
Nepumuk
Hallo,
wenn es das selbe Bild ist, dann so:

Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With UserForm1
Set .Image24.Picture = Image1.Picture
Call .Show
End With
End Sub
Gruß
Nepumuk
AW: Image1 klick in Userform1 Anzeigen
02.11.2021 10:19:12
Oraculix
Danke
Funktioniert auch aber es wird immer noch nicht das das Bild Angezeigt obwohl es den gleichen Namen hat!
Irgendetwas ignoriert Deine Befehle beim öffnen !
Gruß
Oraculix

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige