in einer Listbox mit Multiselect werden mehrere Zeilen markiert. Wie ermittle ich die Anzahl der markierten Zeilen?
Danke
andreas
Private Sub listbox1_Change()
Dim iSelCnt As Integer
Dim ix As Integer
iSelCnt = 0
For ix = 0 To listbox1.ListCount - 1
If listbox1.Selected(ix) = True Then iSelCnt = iSelCnt + 1
Next ix
Msgbox "Anzahl selektierte =" & iSelCnt
End Sub
Um die Anzahl der markierten Zeilen in einer Listbox mit Mehrfachauswahl in Excel zu zählen, kannst du den folgenden VBA-Code verwenden. Stelle sicher, dass du die Developer-Option aktiviert hast und ein UserForm mit einer Listbox erstellt wurde.
Listbox1
).Private Sub Listbox1_Change()
Dim iSelCnt As Integer
Dim ix As Integer
iSelCnt = 0
For ix = 0 To Listbox1.ListCount - 1
If Listbox1.Selected(ix) = True Then iSelCnt = iSelCnt + 1
Next ix
MsgBox "Anzahl selektierte =" & iSelCnt
End Sub
Dieser Code zählt die markierten Zeilen und zeigt die Anzahl in einer Messagebox an. Du kannst den MsgBox
-Befehl durch andere Befehle ersetzen, die dir besser passen.
Fehler: Keine Auswahl wird gezählt.
MultiSelect
auf fmMultiSelectMulti
oder fmMultiSelectExtended
gesetzt hat.Fehler: Der Code wird nicht ausgeführt.
Eine alternative Methode, um die markierten Zeilen zu zählen, ist die Verwendung von Excel-Funktionen anstelle von VBA. Mit der Funktion ZÄHLENWENN
kannst du in einer Tabelle die markierten Zeilen zählen, indem du eine Hilfsspalte mit einer Formel erstellst, die auf Bedingungen basiert. Dies ist jedoch nicht so benutzerfreundlich wie die Verwendung von VBA in einer Listbox.
Angenommen, du hast eine Listbox mit den Werten „Apfel“, „Banane“, „Kirsche“, und du hast die Auswahl „Banane“ und „Kirsche“ getroffen. Der VBA-Code zählt die markierten Zeilen und gibt das Ergebnis wie folgt aus:
Anzahl selektierte = 2
Du kannst die Funktion auch erweitern, um die ausgewählten Werte in einer Zelle anzuzeigen oder sie in einer anderen Listbox zu speichern.
Debug.Print
, um die Anzahl der markierten Zeilen im Direktfenster anzuzeigen, anstatt eine Messagebox zu verwenden.1. Frage
Wie kann ich die Anzahl der markierten Zeilen in einer Listbox speichern?
Antwort: Du kannst die Anzahl in einer Variablen speichern, um sie später in deinem Code zu verwenden. Füge einfach eine weitere Variable hinzu und speichere den Wert dort.
2. Frage
Kann ich die markierten Zeilen in eine Excel-Zelle schreiben?
Antwort: Ja, das ist möglich. Du kannst den Code anpassen, um die Werte der markierten Zeilen in eine bestimmte Zelle zu schreiben, anstatt sie nur in einer Messagebox anzuzeigen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen