ich habe bei einer Userform eine Listbox (Sytle: fmMultiSelectExtended) mit 3 Elemeten A, B, C. Darunter befindet sich eine Checkbox ("Alle auswählen"), die bei Klick alle Elemente in der Listbox auswählt. Wenn ich den Haken bei der Checkbox entferne, wird die Auswahl in der Listbox wieder aufgehoben. Soweit funktioniert das auch gut.
Nun zu meinem Problem:
Nehmen wir an ich habe die Checkbox aktiviert und es sind folglich alle Elemente ausgewählt worden. Wenn der Benutzer nun in die Listbox klickt, wird die Auswahl aufgehoben und nur noch das Element, auf das der User geklickt hat, ist ausgewählt. Nun steht aber weiterhin das Häkchen in der Checkbox, obwohl nicht alle Element ausgewählt sind. Dies sollte logischerweise verschwinden, sobald nicht alle Elemente in der Listbox ausgewählt wurden bzw. automatisch erscheinen, wenn der User alle Elemente manuell über die Listbox auswählt.
Für die Checkbox habe ich bis dato folgenden Code, der auch funktioniert. Bei allem anderen komme ich i-wie jedes Mal mit dem Change Event der Listbox in Bedrängnis:
Dim i As Integer
If Me.CheckBox1.Value = True Then
For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = True
Next i
Else
For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next i
End If
Wäre wie immer super, wenn jemand eine Idee hätte, wie man das sauber steuern könnte.
Viele Grüße,
Jo