Eine ListBox ist ein Steuerelement, mit dem Sie ein oder mehrere Elemente aus einer angezeigten Liste auswählen können. In VBA stellt Excel ListBox verschiedene Methoden bereit, mit denen Sie die Daten manipulieren und die ListBox-Verwaltung nach Belieben anpassen können.
Eine der am häufigsten verwendeten ListBox-Methoden ist die AddItem-Methode, mit der Sie der ListBox ein neues Element hinzufügen können. Mit dem folgenden Code können Sie beispielsweise die Elemente "Option 1", "Option 2" und "Option 3" zur ListBox hinzufügen:
ListBox1.AddItem "Option 2"
ListBox1.AddItem "Option 3"
Mithilfe der removeItem-Methode können Sie Elemente aus der ListBox entfernen. Der folgende Code löscht beispielsweise das erste Element aus der ListBox:
ListBox1.RemoveItem 0
ListBox bietet auch Methoden zum Auswählen und Aufheben der Auswahl von Elementen. Mit der Selected-Methode können Sie herausfinden, ob ein bestimmtes Element in einer ListBox ausgewählt ist. Der folgende Code überprüft beispielsweise, ob das erste Element in der ListBox ausgewählt ist:
MsgBox "Erstes Element ausgewählt"
End If
Dies ist nur eine kleine Liste von ListBox-Methoden in Excel VBA. Wenn Sie diese und andere Methoden kennen und verwenden, können Sie die Daten in der ListBox effizient verwalten und interaktive Benutzeroberflächen in Excel erstellen.
ListBox-Methoden in Excel VBA
1. AddItem: Fügt am Ende der Liste ein neues Element hinzu.
ListBox1.AddItem "Элемент 1"ListBox1.AddItem "Элемент 2"
2. RemoveItem: Entfernt ein Element nach Index aus der Liste.
ListBox1.RemoveItem 1
3. RemoveAll: Entfernt alle Elemente aus der Liste.
ListBox1.RemoveAll
4. List: Gibt ein Array von Werten für die Liste zurück oder legt sie fest.
' Получение значений спискаDim values() As Variantvalues = ListBox1.List' Установка значений спискаDim newValues() As VariantnewValues = Array("Значение 1", "Значение 2")ListBox1.List = newValues
5. ListIndex: Ruft den Index des ausgewählten Elements ab oder legt ihn fest.
' Получение индекса выбранного элементаDim selectedIndex As IntegerselectedIndex = ListBox1.ListIndex' Установка индекса выбранного элементаListBox1.ListIndex = 0
6. Clear: Hebt die Auswahl der ausgewählten Listenelemente auf.
ListBox1.Clear
7. ColumnCount und ColumnWidths: Ruft die Anzahl der Spalten und ihre Breite in einer Liste mit mehreren Spalten ab oder legt sie fest.
' Установка количества столбцовListBox1.ColumnCount = 3' Установка ширины столбцовListBox1.ColumnWidths = "100; 150; 200"
8. MultiSelect: Gibt den Auswahlmodus in der Liste zurück oder legt ihn fest (einzeln oder mehrfach).
' Установка режима выбора на множественныйListBox1.MultiSelect = fmMultiSelectMulti' Получение режима выбораDim selectionMode As VariantselectionMode = ListBox1.MultiSelect
9. ClearSelection: Hebt alle ausgewählten Elemente in der Liste auf.
ListBox1.ClearSelection
10. Selected(): Gibt ein Array von Indizes der ausgewählten Elemente in der Liste zurück.
' Получение массива выбранных элементовDim selectedItems() As VariantselectedItems = ListBox1.Selected()
Dies sind nur einige der ListBox-Methoden in Excel VBA. Mit diesen Methoden können Sie die Liste dynamisch verwalten und die Werte der ausgewählten Elemente abrufen und festlegen.
Erstellen einer ListBox und Definieren ihrer Eigenschaften
Eine ListBox in Excel VBA ist ein Steuerelement, mit dem ein Benutzer eine oder mehrere Optionen aus einer bereitgestellten Liste auswählen kann. Sie können eine ListBox auf einem benutzerdefinierten Formular oder einem Arbeitsblatt erstellen.
Führen Sie die folgenden Schritte aus, um eine ListBox auf einem benutzerdefinierten Formular zu erstellen:
- Öffnen Sie den Formbearbeitungsmodus in der Entwurfsansicht.
- Wählen Sie ein ListBox-Steuerelement aus der Symbolleiste aus.
- Zeichnen Sie eine ListBox auf einem Formular, indem Sie deren Größe und Position angeben.
- Mithilfe von Eigenschaften können Sie das Aussehen und Verhalten der ListBox anpassen. Einige der am häufigsten verwendeten Eigenschaften sind:
| Eigenschaft | Die Beschreibung |
|---|---|
| RowSource | Gibt die Datenquelle für die ListBox an. Es kann einen Zellbereich oder einen Satz von durch Kommas getrennten Werten geben. |
| ColumnCount | Gibt die Anzahl der Spalten in der ListBox an. |
| ListStyle | Definiert den Anzeigestil der Liste. Es kann "fmListStylePlain" (normale Liste) oder "fmListStyleOption" (mit der Möglichkeit, mehrere Optionen auszuwählen) sein. |
| MultiSelect | Bestimmt, ob mehrere Optionen in einer ListBox ausgewählt werden können. Der Wert "fmMultiSelectSingle" beschränkt die Auswahl auf eine Option, mit "fmMultiSelectMulti" können Sie mehrere Optionen auswählen. |
| ListWidth | Gibt die Breite der ListBox an. |
Beispiel für die Definition von ListBox-Eigenschaften:
Private Sub UserForm_Initialize()
In diesem Beispiel wird der RowSource-Eigenschaft der Zellbereich "A1:A10" im Arbeitsblatt "Sheet1" zugewiesen. Die ColumnCount-Eigenschaft wird auf 1 festgelegt, um nur eine Spalte in der ListBox anzuzeigen. Der Anzeigestil der Liste wird durch die ListStyle-Eigenschaft festgelegt, und die MultiSelect-Eigenschaft kann mehrere Optionen auswählen. Die Breite der Liste wird durch die ListWidth-Eigenschaft bestimmt.
Das Erstellen einer ListBox auf einem Arbeitsblatt erfolgt auf ähnliche Weise. Sie müssen auf der Excel-Werkzeugleiste zur Registerkarte "Entwickler" wechseln, ein ListBox-Steuerelement auswählen und es an der gewünschten Stelle im Arbeitsblatt zeichnen. Anschließend können Sie die ListBox mithilfe von Eigenschaften auf die gleiche Weise konfigurieren, wie Sie sie in einem benutzerdefinierten Formular erstellt haben.
Hinzufügen von Elementen zur ListBox
Sie können mehrere Methoden verwenden, um Elemente zu einer ListBox in Excel VBA hinzuzufügen.
- AddItem : Fügt ein Element am Ende der Liste hinzu.
- Column : Fügt der angegebenen Spalte der Liste ein Element hinzu.
- List : Fügt der Liste ein Array von Elementen hinzu.
Beispiele für die Verwendung von Methoden:
1. Die AddItem-Methode
ListBox1.AddItem "Элемент 1"ListBox1.AddItem "Элемент 2"ListBox1.AddItem "Элемент 3"
Dadurch werden der ListBox drei Elemente hinzugefügt:
- Element 1
- Element 2
- Element 3
2. Die Column-Methode
ListBox1.Column(0, 0) = "Заголовок 1"ListBox1.Column(0, 1) = "Элемент 1"ListBox1.Column(0, 2) = "Элемент 2"ListBox1.Column(0, 3) = "Элемент 3"
Dadurch wird der ListBox eine Spalte mit vier Elementen hinzugefügt:
- Überschrift 1
- Element 1
- Element 2
- Element 3
3. List-Methode
Dim arr() As Variantarr = Array("Элемент 1", "Элемент 2", "Элемент 3")ListBox1.List = arr
Dadurch werden der ListBox drei Elemente hinzugefügt:
- Element 1
- Element 2
- Element 3
Sie können je nach Ihrer Aufgabe die gewünschte Methode zum Hinzufügen von Elementen zur ListBox auswählen.
Entfernen von Elementen aus einer ListBox
ListBox bietet die Möglichkeit, Elemente aus einer Liste zu entfernen. Dazu können Sie verschiedene Methoden und Eigenschaften verwenden.
1. Methode removeItem:
Mit der removeItem-Methode können Sie ein bestimmtes Element anhand seines Indexes in einer ListBox entfernen. Zum Beispiel:
ListBox1.RemoveItem 2
Dieser Code entfernt das Element mit dem Index 2 aus ListBox1.
2. Clear-Methode:
Die Clear-Methode entfernt alle Elemente aus der ListBox. Zum Beispiel:
ListBox1.Clear
Dieser Code entfernt alle Elemente aus ListBox1.
3. List-Eigenschaft:
Die List-Eigenschaft ist ein Array von ListBox-Elementen. Sie können eine Schleife und eine Bedingung verwenden, um ein Element anhand seines Werts zu entfernen. Zum Beispiel:
For i = ListBox1.ListCount - 1 To 0 Step -1If ListBox1.List(i) = "Удалить" ThenListBox1.RemoveItem iEnd IfNext i
In diesem Beispiel durchlaufen wir alle ListBox1-Elemente, beginnend mit dem letzten, und prüfen, ob das aktuelle Element dem Wert "Löschen" entspricht. Wenn es gleich ist, löschen wir es.
Wenn Sie diese Methoden und Eigenschaften verwenden, können Sie daher Elemente aus der ListBox in Excel VBA entfernen. Dadurch können Sie die Auswahlliste dynamisch ändern und bei Bedarf aktualisieren.