Eine ListBox ist ein Steuerelement, mit dem ein Benutzer ein oder mehrere Elemente aus einer vorgeschlagenen Liste auswählen kann. In Microsoft Excel ist eine ListBox eine Art von Steuerelementen, die einem Benutzerformular hinzugefügt werden können.
Eine wichtige Aufgabe, die Sie beim Arbeiten mit einer ListBox ausführen müssen, besteht darin, die Anzahl der darin enthaltenen Elemente zu zählen. Dies kann beispielsweise nützlich sein, wenn Sie wissen möchten, wie viele Datensätze ein Benutzer in einem Formular auswählt oder wie viele Elemente bereits zur Liste hinzugefügt wurden.
Um diese Aufgabe auszuführen, verwendet Excel VBA die ListCount-Eigenschaft, die die Anzahl der Elemente in der ListBox zurückgibt. Diese Eigenschaft kann sowohl auf eine Listbox in einem Formular als auch auf eine ListBox angewendet werden, die dynamisch im VBA-Code erstellt wird.
In diesem Artikel betrachten wir Beispiele für die Verwendung der ListCount-Eigenschaft zum Zählen der Anzahl der Elemente in einer ListBox und geben Ihnen ein Verständnis dafür, wie Sie sie in Ihrer Arbeit mit VBA und ListBox in Excel anwenden können.
Abrufen der Anzahl der Elemente in einer ListBox in Excel VBA
ListBox in Excel ist VBA ein Steuerelement, das zum Anzeigen einer Liste von Elementen verwendet wird, aus denen der Benutzer ein oder mehrere Elemente auswählen kann. Es besteht oft die Notwendigkeit, die Anzahl der Elemente in einer ListBox zu kennen, um weitere Datenoperationen durchzuführen.
Sie können die ListBox-Eigenschaft verwenden, um die Anzahl der Elemente in einer ListBox in Excel VBA abzurufen.ListCount . Diese Eigenschaft gibt die Anzahl der Elemente in einer ListBox zurück.
Dim numItems As IntegernumItems = ListBox1.ListCount
In diesem Beispiel enthält die Variable numItems die Anzahl der Elemente in einer ListBox mit dem Namen "ListBox1".
Mithilfe der ListCount-Eigenschaft können Sie die Anzahl der Elemente in der ListBox dynamisch ermitteln und Datenoperationen entsprechend den empfangenen Werten durchführen. Sie können beispielsweise eine Schleife ausführen, um alle ListBox-Elemente zu durchlaufen:
Dim i As IntegerFor i = 0 To ListBox1.ListCount - 1' Выполнить операции с элементом ListBoxMsgBox ListBox1.List(i)Next i
In diesem Beispiel durchläuft eine for-Schleife alle ListBox-Elemente und gibt jedes Element mithilfe der MsgBox-Funktion in einem separaten Meldungsfeld aus.
Beachten Sie, dass die Indizierung von ListBox-Elementen bei Null beginnt, sodass der Ausdruck ListBox1 in der Schleife verwendet wird.ListCount - 1, um alle Elemente korrekt zu durchlaufen.
Jetzt wissen Sie, wie Sie die Anzahl der Elemente in einer ListBox in Excel VBA abrufen und wie Sie diesen Wert zum Ausführen von Datenoperationen verwenden können.
Installieren von ListBox in Excel VBA
So platzieren Sie eine ListBox auf einem Arbeitsblatt:
- Öffnen Sie den Visual Basic-Editor, indem Sie auf klicken Alt + F11.
- Wählen Sie das Blatt aus, auf dem die ListBox platziert werden soll.
- Klicken Sie in der Symbolleiste mit der rechten Maustaste und wählen Sie Insert, danach UserForm.
- Ziehen Sie das ListBox-Steuerelement und lassen Sie es auf das Formular fallen.
- Fügen Sie im Fenster Code-Editor den folgenden Code ein:
Private Sub UserForm_Initialize()ListBox1.AddItem "Значение 1"ListBox1.AddItem "Значение 2"ListBox1.AddItem "Значение 3"End Sub
Jetzt haben Sie eine ListBox auf einem Arbeitsblatt. Sie können Elemente hinzufügen oder entfernen, indem Sie einfach den Code im Ereignis ändern UserForm_Initialize.
Wenn Sie eine ListBox für ein benutzerdefiniertes Formular verwenden möchten, können Sie ähnliche Schritte verwenden, indem Sie das Arbeitsmappenblatt durch ein benutzerdefiniertes Formular ersetzen.
Wie füge ich Elemente zu einer ListBox hinzu
Eine ListBox in Excel VBA ist ein Steuerelement, mit dem Benutzer eine Liste von Elementen anzeigen können. Sie können Elemente auf verschiedene Arten zur ListBox hinzufügen.
Der einfachste Weg ist die Verwendung der ListBox-Eigenschaft von ListBox. Mit dieser Eigenschaft können wir Elemente aus einem Array oder einem Datenbereich zu einer ListBox hinzufügen. Wenn wir beispielsweise ein Array von Daten mit Namen haben, können wir sie wie folgt zur ListBox hinzufügen:
Dim names() As VariantDim i As Integernames = Array("Иван", "Мария", "Алексей", "Ольга")For i = LBound(names) To UBound(names)ListBox1.AddItem names(i)Next i
In diesem Beispiel deklarieren wir ein Array mit names und verwenden eine For-Schleife, um jeden Namen mithilfe der AddItem-Methode zur ListBox hinzuzufügen.
Sie können der ListBox auch Elemente hinzufügen, indem Sie die Column-Methode verwenden, mit der Sie Elemente als einzelne Spalten oder als Zeilen hinzufügen können. Zum Beispiel:
ListBox1.Column(0, 0) = "Иван"ListBox1.Column(0, 1) = "Мария"ListBox1.Column(0, 2) = "Алексей"ListBox1.Column(0, 3) = "Ольга"
Hier verwenden wir die Column ListBox-Eigenschaft, um der ersten Spalte Elemente hinzuzufügen. Jedes Element wird mit dem Spaltenindex Column(0, index) hinzugefügt.
Schließlich können Sie der ListBox auch Elemente hinzufügen, indem Sie die RowSource-Eigenschaft verwenden. Mit der RowSource-Eigenschaft können Sie eine Datenquelle für eine ListBox angeben, die ein Datenbereich in Ihrem Excel-Arbeitsblatt sein kann. Zum Beispiel:
ListBox1.RowSource = "Лист1!A1:A4"
In diesem Beispiel legen wir die RowSource-Eigenschaft der ListBox auf den Bereich A1:A4 auf Blatt1 fest. Dadurch werden alle Werte aus diesem Bereich zur ListBox hinzugefügt.
Mit einer dieser Methoden können Sie leicht Elemente zu einer ListBox in Excel mit VBA hinzufügen.
Abrufen der Anzahl der Elemente in einer ListBox
Sie können die Eigenschaft verwenden, um die Anzahl der Elemente in einer ListBox mit Excel VBA zu zählen Count. Diese Eigenschaft gibt die Anzahl der Elemente in der ListBox zurück.
Sub CountItemsInListBox() Dim ListBox1 As ListBox Dim count As Integer Set ListBox1 = Sheet1.ListBoxes("ListBox1") ' Ersetzen Sie "ListBox1" durch den Namen Ihrer ListBox count = ListBox1.ListCount ' Anzahl der Elemente in ListBox abrufen MsgBox "Anzahl der Elemente: " & count End Sub
In diesem Beispiel deklarieren wir zuerst die Variable ListBox1 als ListBox-Objekt. Dann verwenden wir die Set-Methode, um das ListBox1-Objekt einer ListBox zuzuweisen, die sich auf Sheet1 befindet (ersetzen Sie "ListBox1" durch den Namen Ihrer ListBox und "Sheet1" durch den Namen Ihres Arbeitsblatts).
Dann verwenden wir die ListCount-Eigenschaft, um die Anzahl der Elemente in der ListBox abzurufen. Der Wert der ListCount-Eigenschaft wird der Variablen count zugewiesen.
Schließlich geben wir mit dem MsgBox-Beispiel "Anzahl der Elemente: " & count eine Nachricht mit der Anzahl der Elemente aus.
Wenn Sie nun das Makro CountItemsInListBox ausführen, wird eine Meldung mit der Anzahl der Elemente in der ListBox angezeigt.
Beispielcode zum Zählen der Anzahl der Elemente
Um die Anzahl der Elemente in einer ListBox mit Excel VBA zu zählen, können Sie die Eigenschaft `ListCount` verwenden. Diese Eigenschaft gibt die Anzahl der Elemente in der ListBox zurück.
Hier ist ein Beispielcode, der die Verwendung der Eigenschaft `ListCount` veranschaulicht:
Dim lb As ListBox
Set lb = Sheet1.ListBox1 ' Ersetzen Sie "ListBox1" durch den Namen Ihrer ListBox
Dim itemCount As Long
MsgBox "Anzahl der Elemente in der ListBox: " & ItemCount
In diesem Beispiel erstellen wir zuerst eine Variable `lb`, die sich auf eine ListBox im Arbeitsblatt `Sheet1` bezieht. Dann verwenden wir die Eigenschaft `ListCount`, um die Anzahl der Elemente in der ListBox abzurufen und diesen Wert in der Variablen `ItemCount' zu speichern. Schließlich geben wir eine Nachricht mit der Anzahl der ListBox-Elemente mit der Funktion `MsgBox` aus.
Mit diesem Code können Sie die Anzahl der Elemente in einer ListBox mit Excel VBA einfach berechnen.