Wie kann ich bitte mittels VBA die eingetragenen Zeilen in einer ListBox zählen und die Anzahl in einer Textbox ausgeben.
Danke
Josef
Um die Anzahl der eingetragenen Zeilen in einer ListBox zu zählen und das Ergebnis in einer TextBox auszugeben, kannst Du folgenden VBA-Code verwenden:
Öffne den VBA-Editor in Excel (Alt + F11).
Füge ein UserForm hinzu, falls Du noch keines hast.
Platziere eine ListBox und eine TextBox auf dem UserForm.
Füge einen Button hinzu, um die Zählung auszulösen.
Doppelklicke auf den Button und füge den folgenden Code ein:
Private Sub CommandButton1_Click()
Dim Anzahl As Long
Anzahl = ListBox1.ListCount
TextBox1.Text = Anzahl
End Sub
Schließe den VBA-Editor und teste das UserForm.
Dieser Code zählt die Anzahl der eingetragenen Zeilen in der ListBox und gibt das Ergebnis in der TextBox aus.
Fehler: Die TextBox bleibt leer, nachdem Du auf den Button klickst.
ListBox1
).Fehler: VBA gibt einen Laufzeitfehler aus.
Wenn Du keine VBA-Programmierung nutzen möchtest, kannst Du auch die Funktion =ANZAHL2()
verwenden, um die Anzahl der nicht leeren Zellen in einer bestimmten Spalte zu zählen. Dies setzt jedoch voraus, dass die ListBox-Daten aus einem bestimmten Bereich stammen.
Hier ist ein einfaches Beispiel, wie Du die ListBox in Deinem UserForm befüllen kannst und die Anzahl der Zeilen zählst:
Füge einige Elemente in die ListBox ein, entweder über den VBA-Code:
Private Sub UserForm_Initialize()
ListBox1.AddItem "Element 1"
ListBox1.AddItem "Element 2"
ListBox1.AddItem "Element 3"
End Sub
Wenn Du nun auf den Button klickst, zeigt die TextBox die Zahl 3
an, da drei Elemente in der ListBox vorhanden sind.
ListCount
-Eigenschaft auch nutzen, um bedingte Formatierungen oder Aktionen auszulösen, wenn die Anzahl der Einträge einen bestimmten Wert überschreitet.1. Frage
Kann ich die Anzahl der Zeilen in der ListBox automatisch aktualisieren, wenn ich neue Elemente hinzufüge?
Antwort: Ja, Du kannst die ListCount
-Anweisung in den entsprechenden Subroutine einfügen, die die ListBox aktualisiert, um die TextBox automatisch zu aktualisieren.
2. Frage
Wie kann ich die ListBox leeren, ohne die Form zu schließen?
Antwort: Du kannst die ListBox mit dem Befehl ListBox1.Clear
leeren. Füge diesen Befehl in die entsprechende Subroutine ein, wo Du die ListBox zurücksetzen möchtest.
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