Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Listbox Auswahl zählen

Listbox Auswahl zählen
21.09.2005 17:11:04
andreas
Hallo...,
in einer Listbox mit Multiselect werden mehrere Zeilen markiert. Wie ermittle ich die Anzahl der markierten Zeilen?
Danke
andreas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Auswahl zählen
21.09.2005 17:24:14
EtoPHG
Hallo 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

Msgbox entfernen und durch Befehl ersetzen der Dir passt.
Gruss Hansueli
Anzeige
AW: Listbox Auswahl zählen
21.09.2005 17:40:48
andreas
Hallo EtoPHG,
danke für die schnelle Hilfe, es funktioniert;-)
;
Anzeige
Anzeige

Infobox / Tutorial

Anzahl der markierten Zeilen in einer Listbox zählen


Schritt-für-Schritt-Anleitung

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.

  1. Öffne den Visual Basic for Applications (VBA) Editor (Alt + F11).
  2. Erstelle ein neues UserForm und füge eine Listbox hinzu (nennen wir sie Listbox1).
  3. Klicke doppelt auf das UserForm, um den Code-Editor zu öffnen.
  4. Füge den folgenden Code in den Editor ein:
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
  1. Schließe den VBA-Editor und teste die Listbox in deinem UserForm.

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.


Häufige Fehler und Lösungen

  • Fehler: Keine Auswahl wird gezählt.

    • Lösung: Stelle sicher, dass die Listbox die Eigenschaft MultiSelect auf fmMultiSelectMulti oder fmMultiSelectExtended gesetzt hat.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Vergewissere dich, dass der Code im richtigen UserForm und im richtigen Ereignis (Change) platziert ist.

Alternative Methoden

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.


Praktische Beispiele

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.


Tipps für Profis

  • Nutze Debug.Print, um die Anzahl der markierten Zeilen im Direktfenster anzuzeigen, anstatt eine Messagebox zu verwenden.
  • Überlege, wie du die Auswahl weiterverarbeiten kannst, um sie in andere Berechnungen oder Datenanalysen einzubeziehen.
  • Optimiere den Code, indem du die Anzahl der Iterationen reduzierst, wenn du nur an bestimmten Indizes interessiert bist.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige