Keine Reaktion bei klick in Listbox

Hey Leute,

kann mir mal einer sagen warum hier nichts passiert?

Private Sub ListBox1\_Click()
MsgBox "test"
With UserForm2.ListBox1

 If .ListIndex = 0 Then
 For i = .ListCount - 1 To 0 Step -1
 .Selected(i) = True
 Next i
 End If
End With

End Sub

Der Teil zwischen with und end with ist dabei eigentlich auch erstmal egal. Es wäre mir schon recht, wenn überhaupt erstmal ne Messagebox erscheint.
Aber es passiert gar nix, wenn ich einen Eintrag in der Listbox markiere - weder mit test in Anführungsstrichen, ohne Anführungsstriche oder einer Variable. Die Listbox reagiert einfach nicht. :frowning:

MFG Uschi

Hallo,

For i = .ListCount - 1 To 0 Step -1

Du brauchst

step 1

Gruß, Bernd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Bernd,

For i = .ListCount - 1 To 0 Step -1

Du brauchst Step 1

Es geht trotzdem nix.
Das Problem ist ja, dass die Listbox gar nicht aus die Klick-Anweisung reagiert. Auch nicht, wenn ich einfach nur ne Messagebox ausgeben will…

MFG Uschi

Hallo Uschi,

Private Sub ListBox1\_Click()
MsgBox "test"
With UserForm2.ListBox1

 If .ListIndex = 0 Then

Da steht: Nur wenn die erste Zeile der Listbox angeklickt wurde …
Das ist sicher nicht beabsichtigt. Was wolltest Du da wirklich schreiben?

 For i = .ListCount - 1 To 0 Step -1
 .Selected(i) = True
 Next i

Hier steht: selektiere alle Einträge. Ist das beabsichtigt?

 End If
End With

End Sub

Lass Dein Programm mal für einen Moment unverändert, starte es und klicke die erste Zeile an. Danach ist Deine gesamte Liste blau.

Was wolltest Du denn programmieren?

Gruß, Rainer

Hallo

For i = .ListCount - 1 To 0 Step -1

Du brauchst Step 1

Das ist so nicht richtig!
entweder:
For i = .ListCount - 1 To 0 Step -1
–> Das erste war schon richtig!
oder
For i = 0 to .ListCount - 1 Step 1

Hast du eventuell die Listbox umbenannt?
Suche mal in deiner IDE links oben im Codeiengabefenster in einem Formular nach deiner Listbox. Dann erscheinen in der auswahl rechts daneben die möglichen Ereignisse. Suche dort nochmal den Click aus!
(habe das aus dem Kopf geschrieben, habe kein VB6 hier)

Gruß,
AlexR
tipp:
Du kannst auch zum debuggen Haltepunkte setzen, dann brauchst du keine MsgBoxen.

Hallo,

For i = .ListCount - 1 To 0 Step -1

Du brauchst

step 1

Gruß, Bernd

Hallo Bernd,

wenn man möchte das die Routine abgebrochen wird, dann schon. Ansonsten ist -1 Richtig!

MfG Alex

Hey Leute,

kann mir mal einer sagen warum hier nichts passiert?

Private Sub ListBox1_Click()
MsgBox „test“
With UserForm2.ListBox1

If .ListIndex = 0 Then
For i = .ListCount - 1 To 0 Step -1
.Selected(i) = True
Next i
End If
End With

End Sub

Der Teil zwischen with und end with ist dabei eigentlich auch
erstmal egal. Es wäre mir schon recht, wenn überhaupt erstmal
ne Messagebox erscheint.
Aber es passiert gar nix, wenn ich einen Eintrag in der
Listbox markiere - weder mit test in
Anführungsstrichen, ohne Anführungsstriche oder einer
Variable. Die Listbox reagiert einfach nicht. :frowning:

MFG Uschi

Hallo Uschi,

arbeitest du in VBA?
Hast du zufällig dein MultiSelect auf 1 (fmMultiSelectMulti)? Probier mal den Multiselect auf 0 (fmMultiSelectSingle) umzustellen, dann kommt bei mir mit deinem Code die MsgBox.

Hab nämlich genau das gleiche Problem (siehe auch Beitrag „Nach Listbox-Auswahl OK-Button True“ ). Bei mir funktioniert auch das Click-Event der Listbox nicht.

Falls du ne Lösung für das Problem gefunden hast wäre ich dir dankbar wenn du sie mir auch mitteilst :smile:

Gruß Werner

Hallo Werner,

Falls du ne Lösung für das Problem gefunden hast wäre ich dir
dankbar wenn du sie mir auch mitteilst :smile:

lies doch mal die Beiträge. :smile:
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Gruß, Rainer

Falls du ne Lösung für das Problem gefunden hast wäre ich dir
dankbar wenn du sie mir auch mitteilst :smile:

lies doch mal die Beiträge. :smile:
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Hallo Rainer,
ich hab die Beiträge gelesen und ich denke das Problem von Uschi ist noch nicht gelöst!

Der Teil zwischen with und end with ist dabei eigentlich auch erstmal
egal. Es wäre mir schon recht, wenn überhaupt erstmal ne Messagebox
erscheint.
Aber es passiert gar nix, wenn ich einen Eintrag in der Listbox
markiere - weder mit test in Anführungsstrichen, ohne
Anführungsstriche oder einer Variable. Die Listbox reagiert einfach
nicht. :frowning:

Es geht trotzdem nix.
Das Problem ist ja, dass die Listbox gar nicht aus die Klick-
Anweisung reagiert. Auch nicht, wenn ich einfach nur ne Messagebox
ausgeben will…

…und genau das Problem hab ich auch.

Gruß Werner

Hallo Werner,

ich hab die Beiträge gelesen und ich denke das Problem von
Uschi ist noch nicht gelöst!

das sehe ich anders. :smile:

Das Problem ist ja, dass die Listbox gar nicht aus die Klick-
Anweisung reagiert. Auch nicht, wenn ich einfach nur ne Messagebox
ausgeben will…

Das ist ein Irrtum. Als Erstes steht die Prüfung ob Zeile(0) angeklickt wurde. Wird eine andere Zeile angeklickt, soll gar nichts passieren und so verhält sich das Programm auch.

…und genau das Problem hab ich auch.

Dein Code sieht anders aus, Dein Fehler sitzt an einer anderen Stelle.

Gruß, Rainer

Das ist ein Irrtum. Als Erstes steht die Prüfung ob Zeile(0)
angeklickt wurde. Wird eine andere Zeile angeklickt, soll gar
nichts passieren und so verhält sich das Programm auch.

Da hast du recht, aber als erstes kommt im Code bei Uschi ne MsgBox…

Private Sub ListBox1\_Click()
MsgBox "test"
With UserForm2.ListBox1
...

… und da reagiert laut Uschi der Click-Event schon gar nicht. So versteh ich das zumindest.

Gruß

…und genau das Problem hab ich auch.

Hi Werner,
okay, die Brettbeschreibung könnte verschärfter darauf hinweisen, die Version anzugeben und bei Vba auch die Apllication, aber das wäre meist sinnlos, wird eh seltenst gelesen, oder von den Falschen :frowning:

Jedenfalls, um welche Excel-Vba Version geht es denn bei dir?
Grad wegen multiselect könnte das wichtig sein.

application.enableevents steht auf True ?

Ansonsten, ich habe mir jetzt mal beide Artikelbäume abgespeichert und stelle das nachher mal nach in Excel. K.A. ob sich da was ergibt und ob das dann auch für VB6 nutzbar ist.

Gruß
Reinhard

Hi Werner,
okay, die Brettbeschreibung könnte verschärfter darauf
hinweisen, die Version anzugeben und bei Vba auch die
Apllication, aber das wäre meist sinnlos, wird eh seltenst
gelesen, oder von den Falschen :frowning:

Jedenfalls, um welche Excel-Vba Version geht es denn bei dir?
Grad wegen multiselect könnte das wichtig sein.

application.enableevents steht auf True ?

Ansonsten, ich habe mir jetzt mal beide Artikelbäume
abgespeichert und stelle das nachher mal nach in Excel. K.A.
ob sich da was ergibt und ob das dann auch für VB6 nutzbar
ist.

Hallo Reinhard,

also ich arbeite nicht mit Excel, ich arbeite mit nem anderen Programm, welches mir einen VBA Editor zur Verfügung stellt.
application.enableevents hab ich da glaub gar nicht, aber wenn ich den multiselect auf single hab, geht es ja. Hab ich ihn auf multi, geht es nicht.

Danke für deine Hilfe!

Gruß Werner

Lösung gefunden!
Siehe Link:

http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Gruß Werner

wow, herzlichendank werner, es funktioniert.

vielen dank auch an alle anderen für die beteiligung.

lg uschi