Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auswahl in MultiSelect Lsitbox

Auswahl in MultiSelect Lsitbox
19.05.2024 10:44:47
Daniel Eberhard
Guten Tag
Ich habe eine Multiselect Listbox in einer UserForm auf einer Multipace (Seite1).
Nun möchte ich, wenn die Listbox eine Auswahl hat, einige CommandButton versteckt werden und andere angezeigt.

Leider funktioniert mein unterstehender Code nicht ganz. Wenn ich etwas blau markiere, dann verschwinden die gewünschten Button & die anderen erscheinen. Doch wenn ich alle blauen Markierungen entferne, dann ändert sich nichts!

Besten Dank für Eure Hilfe.

Freundliche Grüsse Daniel Eberhard




Private Sub LBMail_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Dim i As Long

With UFVersand
If i = .LBMail.ListCount Then
.CommandButton1.Visible = True
.CommandButton2.Visible = False
.CommandButton3.Visible = False
Else
.CommandButton1.Visible = False
.CommandButton2.Visible = True
.CommandButton3.Visible = True
End If
End With
End Sub

Private Sub UserForm_Activate()
With UFVersand
.CommandButton1.Visible = True
.CommandButton2.Visible = False
.CommandButton3.Visible = False
End With

Call LBMail_füllen
End Sub


Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Du brauchst hier...
19.05.2024 11:19:26
Case
Moin, :-)

... keine Variable "i". Denn so kommst du nie in den "Else-Zweig". Wenn nichts in der ListBox ausgewählt ist, dann hat "ListCount" den Wert 0. Also prüfe auf...

If .LBMail.ListCount > 0 Then


Oder prüfe auf = 0 - je nachdem wie rum du es gerne hättest. ;-)

Oder prüfe auf den "ListIndex", der ist -1, wenn nichts ausgewählt ist.

Siehe: https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/listcount-property

Servus
Case
Anzeige
AW: Du brauchst hier...
19.05.2024 11:33:13
Daniel Eberhard
Hallo Case

Danke für Deine Rückmeldung. Leider funktioniert dies auch nur halbwegs. Wähle ich etwas aus, dann ändern sich die Button. Nehme ich die Auswahl weg, dann ändert sich leider nichts. :-(

Gruss Daniel Eberhard
AW: Auswahl in MultiSelect Lsitbox
19.05.2024 11:29:02
Kuwer
Hallo Daniel Eberhard,

was hat die Listlänge mit der Aufgabenstellung zu tun? Zudem ist die Variable i immer 0 (Null).

Gruß, Uwe
Anzeige
Beispiel
19.05.2024 11:52:13
Kuwer
So könnte es aussehen:

Private Sub LBMail_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

With LBMail
CommandButton1.Visible = .Selected(0)
CommandButton2.Visible = .Selected(1)
CommandButton3.Visible = .Selected(2)
End With
End Sub


Gruß, Uwe
Anzeige
AW: Beispiel
19.05.2024 12:24:17
Daniel Eberhard
Hallo zusammen

Danke für all die Vorschläge. Leider funktioniert keiner, so wie ich es gerne hätte.
Versuche es nochmals zu erklären.

Wenn ich in einer Mutliselect Listbox welche sich auf einer Userform befindet, irgend eine Auswahl auswähle (blauer Hintergrund), soll Button 1 entfernt werden & Button 2 erscheinen. Ist in der Listbox keine Auswahl (kein blauer Hintergrund), so erscheint der Button 1 wieder & der Button 2 verschwindet.

Vielleicht hilft das noch ein wenig. :-)

Gruss
Anzeige
AW: Beispiel
19.05.2024 12:34:07
Kuwer
Hallo Daniel Eberhard,

jetzt hab ich es verstanden:

Private Sub LBMail_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Dim i As Long
Dim bolAuswahl As Boolean
With LBMail
For i = 0 To .ListCount - 1
If .Selected(i) Then
bolAuswahl = True
Exit For
End If
Next i
CommandButton1.Visible = Not bolAuswahl
CommandButton2.Visible = bolAuswahl
CommandButton3.Visible = bolAuswahl
End With
End Sub


Gruß, Uwe
Anzeige
AW: Beispiel
19.05.2024 13:03:32
Daniel Eberhard
Hallo Uwe

Hey, danke viel mal. Genau das habe ich gesucht. :-)

Vielen Dank und noch einen schönen Sonntag.

Gruss Daniel Eberhard
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige