Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

ListBox1.ListIndex = 0

ListBox1.ListIndex = 0
28.08.2021 10:19:43
oraculix
Hallo
ListBox1.ListIndex = 0 funktioniert irgendwie nicht richtig eigenartiger weise nur jedes 2 mal.
Die erste Zeile in der Listbox1 wird zwar markiert aber der Wert wird nicht in die Textbox name(Txt_Eingabe ) geschrieben .
Im untenstehenden Code kann man sehen wie der Text in die Textbox kommt .
Frage:
Gibt es was besseres wie ListBox1.ListIndex = 0 ?
Leider kann ich keine Datei hochladen da ich die 300kb mit den Bildern nicht schaffe.
Danke
'Es wird aus einem Verzeichnis ein Bild in die Userform1 geladen wenn man in der Listbox 1 Klickt
dies geschieht durch die Textbox

Private Sub ListBox1_Click()
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
If Dir$(PathName:=FOLDER_PATH & ListBox1.Text & ".jpg") = vbNullString Then
Set Image24.Picture = Nothing
Else
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & ListBox1.Text & ".jpg")
End If
Txt_Eingabe = ListBox1
End Sub
Gruß
Oraculix

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox1.ListIndex = 0
28.08.2021 10:33:30
Hajo_Zi
Hallo Oraculix,

Private Sub ListBox1_Click()
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
Txt_Listbox=Listbox
If Dir$(PathName:=FOLDER_PATH & ListBox1.Text & ".jpg") = vbNullString Then
Set Image24.Picture = Nothing
Else
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & ListBox1.Text & ".jpg")
End If
Txt_Eingabe =TxT_Listbox
End Sub
GrußformelHomepage
Anzeige
AW: Fehlermeldung!
28.08.2021 10:44:51
oraculix
Hallo Hajo
Danke für Deine Mühe aber
Wenn ich das exakt so eintrage kommt eine Fehlermeldung!
Variable nicht definiert!
Txt_Listbox=Listbox 'GELB MARKIERT
Gruß
Oraculix
AW: Fehlermeldung!
28.08.2021 10:57:32
Hajo_Zi
Hallo Oraculix,
ich sehe es es Fehlt
Dim TxT_Listbox as String
Gruß Hajo
AW: Fehlermeldung!
28.08.2021 11:40:15
oraculix
Danke
Musste TxT_Listbox = ListBox in TxT_Listbox = ListBox1 umwandeln. Jetzt läuft es fehlerfrei ,
aber es funktioniert wie mit dem Alten Code genau so.
Immer nur jedes zweite mal.
Vielleicht würde eine Zeile rauf oder eine Zeile runter helfen?
Habe schon 100derte Versuche hinter mir mit zb. 012302 usw. immer nur das Zweite mal wenn ich die Userform schließe und wieder öffne dann geht es ! Zum verzweifeln!!!!
Sub UserForm_Activate()
ListBox1.ListIndex = 0 'alle möglichkeiten schon Versucht
ListBox1.ListIndex = 1 ' auch mit 1 Sekunde Pause hilft alles nix
ListBox1.ListIndex = 2
End Sub

Private Sub ListBox1_Click()
Dim TxT_Listbox As String
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelCovers\"
TxT_Listbox = ListBox1
If Dir$(PathName:=FOLDER_PATH & ListBox1.Text & ".jpg") = vbNullString Then
Set Image24.Picture = Nothing
Else
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & ListBox1.Text & ".jpg")
End If
Txt_Eingabe = TxT_Listbox
End Sub
Gruß
Oraculix
Anzeige
AW: Fehlermeldung!
28.08.2021 11:47:28
ralf_b
du wirst wohl in einem anderen Event der Listbox (z.b. Change) noch Code haben und somit Seitenefekte erzeugen. Oder im initialize (wird meist zweimal durchlaufen) passiert was mit deiner Listbox.
Bei deiner anhaltenden Unkenntnis über VBA ist dies -

"Zum verzweifeln!!!!"
unausweichlich.
AW: Fehlermeldung!
28.08.2021 12:03:42
oraculix
Hallo Ralf Danke auch Dir das Du es Dir zu Herzen nimmst einen Anfänger zu helfen.
Kann es sein das der Fehler in diesem Code ist?

Private Sub Lst_Treffer_befüllen(Optional ByVal Ftext As String = vbNullString)
'Befüllung der LST_Treffer Listbox
Dim i As Long
Dim W As Worksheet
Do While Me.Lst_Treffer.ListCount > 0
Me.Lst_Treffer.RemoveItem 0
Loop
Set W = Worksheets("FilmDB")
For i = 2 To W.Range("A99999").End(xlUp).Row
If Ftext = "" Or InStr(1, W.Cells(i, 1) & W.Cells(i, 2) & W.Cells(i, 8), Ftext, _
vbTextCompare) Then
With Me.Lst_Treffer
.AddItem CStr(W.Cells(i, 1))
.List(.ListCount - 1, 1) = CStr(W.Cells(i, 2))
.List(.ListCount - 1, 2) = CStr(W.Cells(i, 8))
End With
End If
Next
End Sub

Anzeige
nein owT
28.08.2021 12:50:19
ralf_b
AW: ListBox1.ListIndex = 0
28.08.2021 12:28:26
Daniel
Hi
Das Click-Event der Listbox löst dann aus, wenn sich der ListIndex der Listbox verändert.
Dh wenn die Listbox schon den ListIndex 0 hat, wird Listbox1.ListIndex = 0 das Click-Event nicht auslösen.
Liegt es ggf daran?
Gruß Daniel
AW: ListBox1.ListIndex = 0
28.08.2021 12:44:00
oraculix
Hallo Daniel Danke mein Hoffnungsschimmer ist da!
Ja das könnte es sein!
Deshalb habe ich ja gefragt ob es was besseres gibt als ListBox1.ListIndex = 0
hast Du noch eine Idee wie ich das anders formulieren kann?
Zb. sowas in der Art wo die Zeile der Listbox wirklich aktiviert wird und nicht markiert
T = Timer + 1
Do While Timer T
DoEvents
Gruß
Oraculix
Anzeige
AW: ListBox1.ListIndex = 0
28.08.2021 15:40:19
Daniel
Du kannst abfragen, ob der Listindex schon = 0 ist.
Wenn nein, setzt du ihn auf 0 und lässt den Rest das Click-Event machen,
wenn ja, dann musst du nur die Textboxen mit dem Listboxwert befüllen.
Ansonsten, hast du schonmal einen Haltepunkt gesetzt und bist den Code im Einzelstep durchgegangen?
Das ist hilfreich, wenn man das Zusammenspiel der einzelnen Events verstehen will.
Gruß Daniel
AW: ListBox1.ListIndex = 0
28.08.2021 16:58:56
oraculix
Danke
Wie muss dann der code sein?
Hab hier ein Anfänger Beispiel

Sub UserForm_Activate()
if ListBox1.ListIndex = 0 Then Userform1.Show
If Not ListBox1.ListIndex = 0 Is Nothing Then
? 'keine Ahnung was ich da reinschreiben kann oder soll
else
End Sub

Anzeige
AW: ListBox1.ListIndex = 0
28.08.2021 17:55:47
Daniel
Was willst du den machen?
Was soll wann passieren?
Beschreibt mal genau, was du willst.
Logisches Denken scheint nicht so deine Stärke zu sein.
Du phanthsierst mal wieder ziemlich in der Gegend rum
Ich hätte jetzt erstmal an folgendes dedacht:
Ersetze das nur gelegentlich funktionierende

Listbox1.Listindex = 0
Durch

If Listbox1.ListIndex = 0 then
Txt_Eingabe = ListBox1.Text
Else
Listbox1.ListIndex = 0
End if
Gruß Daniel
AW: ListBox1.ListIndex = 0
28.08.2021 18:10:56
oraculix
Danke
Schon mal ein guter Ansatz, aber leider keine Änderung nur jedes 2 mal wird Ein Bild Angezeigt.
Mir wäre es ja eigentlich egal welche Zeile markiert wird es könnte auch 2 oder 3 sein hauptsache ein Bild wird beim öffen der Userform gezeigt.
If Listbox1.ListIndex = 0 then
Txt_Eingabe = ListBox1.Text ''''keine Fehler aber nur jedes 2 mal wird Ein Bild Angezeigt.
Else
Listbox1.ListIndex = 0
End if
Gruß
Oraculix
Anzeige
AW: ListBox1.ListIndex = 0
30.08.2021 14:57:04
Daniel
bei jedem zweiten mal was machen?
nimm dir vor jeder Frage bitte ein bisschen Zeit und beschreibe dein Problem so, dass es jemand der versteht, der weder deine Aufgabenstellung, noch deine Datei oder irgendwas kennt.
Auch nur irgendwelche Codefragmente sind nicht hilfreich. du solltest inzwischen wissen, dass die Events einander aufrufen, so dass man schon einen vollständigen Überblick über das ganze haben sollte.
Eine Beispieldatei, in der man das Problem nachvollziehen kann, wäre nicht schlecht.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige