VBA-Array-Liste – Mega-Leitfaden für 2022 aktualisiert

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 7, 2022

Verwendung einer VBA-Array-Liste

Eine Array-Liste ist ein VBA-Objekt, das zum Speichern von Werten verwendet werden kann. Es ist einem Sammlungsobjekt ähnlich, ist aber aus programmiertechnischer Sicht wesentlich flexibler. Lassen Sie uns einige Unterschiede zwischen Array-Listen, Sammlungen und Arrays diskutieren.

  • Das Sammlungsobjekt hat nur zwei Methoden (Add, Remove) und zwei Eigenschaften (Count, Item), während eine Array-Liste über viel mehr verfügt.
  • Das Sammlungsobjekt ist schreibgeschützt. Sobald Werte hinzugefügt wurden, kann der indizierte Wert nicht mehr geändert werden, während eine Bearbeitung bei einer Array-Liste möglich ist.
  • Das Array-Listenobjekt vergrößert und verkleinert sich je nach Anzahl der darin enthaltenen Elemente. Es muss vor der Verwendung nicht wie ein Array dimensioniert werden.
  • Die Array-Liste ist eindimensional (wie das Sammlungsobjekt) und der Standard-Datentyp ist Variant, was bedeutet, dass sie jeden Datentyp akzeptiert, egal ob es sich um Zahlen, Text oder Datum handelt.

In vielerlei Hinsicht behebt die Array-Liste eine Reihe von Mängeln des Sammlungsobjekts. Sie ist sicherlich viel flexibler in ihren Möglichkeiten.

Das Array-Listenobjekt ist nicht Teil der Standard-VBA-Bibliothek. Sie können es in Ihrem Excel-VBA-Code verwenden, indem Sie die späte oder frühe Bindung nutzen.

Sub SpaeteBindungBeispiel()
Dim MeineListe As Object
Set MeineListe = CreateObject("System.Collections.ArrayList")
End Sub
Sub FrueheBindungBeispiel()
Dim MeineListe As New ArrayList
End Sub

Um das Beispiel zur frühen Bindung zu verwenden, müssen Sie zunächst in VBA einen Verweis auf die Datei „mscorlib.tlb“ eingeben.

Wählen Sie dazu im Fenster des Visual Basic Editor (VBE) die Option „Extras | Verweise“. Es erscheint ein Pop-up-Fenster mit allen verfügbaren Verweisen. Scrollen Sie nach unten zu ‚mscorlib.dll‘ und markieren Sie das Kästchen daneben. Klicken Sie auf OK und diese Bibliothek ist nun Teil Ihres Projekts:

vba verweise mscorlib

Einer der großen Nachteile eines Array-Listenobjekts ist die Tatsache, dass es keine „IntelliSense“ hat. Normalerweise sehen Sie bei der Verwendung eines Objekts in VBA, z. B. eines Bereichs, eine Popup-Liste mit allen verfügbaren Eigenschaften und Methoden. Bei einem Array-Listenobjekt ist dies nicht der Fall und manchmal müssen Sie sorgfältig prüfen, ob Sie die Methode oder Eigenschaft richtig geschrieben haben.

Auch wenn Sie im VBE-Fenster die Taste F2 drücken und nach „arraylist“ suchen, wird nichts angezeigt, was für den Entwickler nicht sehr hilfreich ist.

Ihr Code wird mit der frühen Bindung wesentlich schneller laufen, da alles im Voraus kompiliert wird. Bei der späten Bindung muss das Objekt kompiliert werden, während der Code aufgeführt wird.

Verteilen Ihrer Excel-Anwendung, die eine Array-Liste enthält

Wie bereits erwähnt, ist das Array-Listenobjekt nicht Teil von Excel VBA. Das bedeutet, dass jeder Ihrer Kollegen, an den Sie die Anwendung weitergeben, Zugriff auf die Datei ‚mscorlib.tlb‘ haben muss.

Diese Datei befindet sich normalerweise unter: C:\Windows\Microsoft.NET\Framework\v4.0.30319

Es könnte sich lohnen, etwas Code zu schreiben (unter Verwendung der Dir-Methode), um zu prüfen, ob diese Datei vorhanden ist, wenn ein Benutzer die Anwendung lädt, damit er eine „weiche Landung“ erlebt, wenn sie nicht gefunden wird. Wenn sie nicht vorhanden ist und der Code ausgeführt wird, treten Fehler auf.

Außerdem muss der Benutzer die richtige Version von .Net Framework installiert haben. Selbst wenn der Benutzer eine neuere Version hat, muss V3.5 installiert sein, sonst funktioniert Ihre Anwendung nicht.

Umfang eines Array-Listenobjekts

Das Array-Listenobjekt ist nur verfügbar, solange die Arbeitsmappe geöffnet ist. Es wird nicht gespeichert, wenn die Arbeitsmappe gespeichert wird. Wenn die Arbeitsmappe erneut geöffnet wird, muss das Array-Listenobjekt mit VBA-Code neu erstellt werden.

Wenn Sie möchten, dass Ihre Array-Liste für den gesamten Code in Ihrem Code-Modul zur Verfügung steht, müssen Sie das Array-Listenobjekt im Declare-Abschnitt ganz oben im Modulfenster deklarieren

Dadurch wird sichergestellt, dass der gesamte Code in diesem Modul auf die Array-Liste zugreifen kann. Wenn Sie möchten, dass jedes Modul innerhalb Ihrer Arbeitsmappe auf das Array-Listenobjekt zugreifen kann, dann definieren Sie es als globales Objekt.

Global MeineSammlung As New ArrayList

Auffüllen und Auslesen Ihrer Array-Liste

Die grundlegendeste Aktion, die Sie durchführen möchten, besteht darin, eine Array-Liste zu erstellen, einige Daten darin zu speichern und dann nachzuweisen, dass die Daten gelesen werden können. Alle Codebeispiele in diesem Artikel gehen davon aus, dass Sie die frühe Bindung verwenden und „mscorlib.tlb“ zu den VBA-Verweisen wie oben beschrieben hinzugefügt haben.

Sub ArrayListeBeispiel()
'Neues Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList

'Elemente zur Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"

'Durch die Array-Liste iterieren, um Werte zu prüfen
For N = 0 To MeineListe.Count - 1
    MsgBox MeineListe(N)
Next N

End Sub

In diesem Beispiel wird ein neues Array-Listenobjekt erstellt, das mit 3 Elementen aufgefüllt wird, und dann wird die Liste durchlaufen, wobei jedes Element angezeigt wird.

Beachten Sie, dass der Array-Listenindex bei 0 und nicht bei 1 beginnt, so dass Sie 1 vom Count-Wert subtrahieren müssen.

Sie können auch eine ‚For…Each‘-Schleife verwenden, um die Werte auszulesen:

Sub ArrayListeBeispiel()
'Neues ArrayList-Objekt erstellen
Dim MeineListe As New ArrayList

'Elemente zur Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"

'Durch die Array-Liste iterieren, um Werte zu prüfen
For Each I In MeineListe
    MsgBox I
Next I

End Sub

Elemente in einer Array-Liste bearbeiten und ändern

Ein großer Vorteil einer Array-Liste gegenüber einer Sammlung besteht darin, dass die Elemente in der Liste innerhalb Ihres Codes bearbeitet und geändert werden können. Das Sammlungsobjekt ist nur lesbar, während das Array-Listenobjekt schreib- und lesefähig ist.

Sub ArrayListeBeispiel()
'Neues Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList

'Elemente zur Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"

'Eintrag 1 von 'Eintrag2' auf 'Geändert' ändern
MeineListe(1) = "Geändert"

'Durch die Array-Liste iterieren, um nachzuweisen, dass die Änderung stattgefunden hat
For Each I In MeineListe
    'Name des Elements anzeigen
    MsgBox I
Next I

End Sub

In diesem Beispiel wird das zweite Element („Element2“) auf den Wert „Geändert“ geändert (der Index beginnt bei 0). Wenn die Iteration am Ende des Codes ausgeführt wird, wird der neue Wert angezeigt.

Ein Array von Werten zu einer Array-Liste hinzufügen

Sie können Werte in Ihre Array-Liste einfügen, indem Sie ein Array, das eine Liste dieser Werte oder Verweise auf Zellenwerte in einem Arbeitsblatt enthält, verwenden.

Sub ArrayHinzufuegenBeispiel()
'Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList

'Durch Array-Werte iterieren und sie der Array-Liste hinzufügen
For Each W In Array("A1", "A2", "A3")
    'Jeden Array-Wert zur Liste hinzufügen
    MeineListe.Add W
Next

'Array-Werte mit Arbeitsblattverweisen durchlaufen und zur Array-Liste hinzufügen
For Each W In Array(Range("A5").Value, Range("A6").Value)
    MeineListe.Add W
Next

'Durch die Array-Liste iterieren, um die Werte zu prüfen
For N = 0 To MeineListe.Count - 1
   'Listenelement anzeigen
    MsgBox MeineListe.Item(N)
Next N

End Sub

Einen Bereich von Elementen aus einer Array-Liste auslesen/abrufen

Durch Anwendung der GetRange-Methode an einer Array-Liste können Sie einen Bereich von aufeinanderfolgenden Elementen, die abgerufen werden sollen, angeben. Die beiden erforderlichen Parameter sind die Startindexposition und die Anzahl der abzurufenden Elemente. Der Code füllt ein zweites Array-Listenobjekt mit der Teilmenge von Elementen, die dann separat gelesen werden können.

Sub BereichLesenExample()
'Objekte definieren
Dim MeineListe As New ArrayList, MeineListe1 As Object

'Elemente zum Objekt 'MeineListe' hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
MeineListe.Add "Element6"
MeineListe.Add "Element4"
MeineListe.Add "Element7"

'4 Elementen in 'MeineListe' ab Indexposition 2 erfassen
Set MeineListe1 = MeineListe.GetRange(2, 4)

'Durch das Objekt "MeineListe1" iterieren, um die Teilmenge der Elemente anzuzeigen
For Each I In MeineListe1
   'Name des Elements anzeigen
    MsgBox I
Next I

End Sub

Suche nach Elementen innerhalb einer Array-Liste

Mit der Contains-Methode können Sie prüfen, ob ein bestimmtes Element in Ihrer Liste enthalten ist. Diese Methode gibt True oder False zurück

MsgBox MeineListe.Contains("Element2")

Sie können auch die tatsächliche Indexposition mit der IndexOf-Methode ermitteln. Sie müssen den Startindex für die Suche angeben (normalerweise 0). Der Rückgabewert ist der Index der ersten Instanz des gesuchten Elements. Sie können dann eine Schleife verwenden, um den Startpunkt auf den nächsten Indexwert zu ändern, um weitere Instanzen zu finden, wenn es mehrere doppelte Werte gibt.

Wenn der Wert nicht gefunden wird, wird der Wert -1 zurückgegeben.

Dieses Beispiel demonstriert die Verwendung von ‚Contains‘, Element nicht gefunden und Durchlaufen der Array-Liste, um die Positionen aller doppelten Elemente zu finden:

Sub SucheInListeBeispiel()
'Array-Liste und Variablen definieren
Dim MeineListe As New ArrayList, Sp As Integer, Pos As Integer

'Neue Elemente einschließlich eines Duplikats hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
MeineListe.Add "Element1"

'Prüfen, ob "Element2" in der Liste enthalten ist - gibt True zurück
MsgBox MeineListe.Contains("Element2")

'Index eines nicht vorhandenen Wertes ermitteln - gibt -1 zurück
MsgBox MeineListe.IndexOf("Element", 0)

'Die Startposition für die Suche auf Null setzen
Sp = 0

'Durch die Liste iterieren, um alle Positionen von "Element1" zu erhalten
Do
     'Die Indexposition vom nächsten 'Element1' anhand der Position in der Variablen 'Sp' ermitteln
    Pos = MeineListe.IndexOf("Element1", Sp)
   'Wenn keine weiteren Instanzen von 'Element1' gefunden werden, dann die Schleife verlassen
    If Pos = -1 Then Exit Do
   'Die nächste gefundene Instanz und die Indexposition anzeigen
    MsgBox MeineListe(Pos) & " bei Index " & Pos
   '1 zum letzten gefundenen Indexwert hinzuaddieren - dies wird nun die neue Startposition für die nächste Suche
    Sp = Pos + 1
Loop

End Sub

Beachten Sie, dass der verwendete Suchtext zwischen Groß- und Kleinschreibung unterscheidet und Platzhalter nicht zulässig sind.

Elemente einfügen und entfernen

Wenn Sie Ihre Elemente nicht am Ende der Liste hinzufügen möchten, können Sie sie an einer bestimmten Indexposition einfügen, so dass das neue Element in der Mitte der Liste steht. Die Indexnummern werden für die nachfolgenden Einträge automatisch angepasst.

Sub EinfuegenBeispiel()
'Array-Listenobjekt definieren
Dim MeineListe As New ArrayList

'Elemente zur Array-Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
MeineListe.Add "Element1"

' 'Element6' an der Indexposition 2 einfügen
MeineListe.Insert 2, "Element6"

'Durch die Elemente in der Array-Liste iterieren, um die neue Reihenfolge und Indexpositionen anzuzeigen
For N = 0 To MeineListe.Count - 1
    MsgBox MeineListe(N) & " Index " & N
Next N

End Sub

In diesem Beispiel wird „Element6“ an der Indexposition 2 in die Liste eingefügt, so dass „Element3“, das sich an der Indexposition 2 befand, nun an die Indexposition 3 verschoben wird.

Ein einzelnes Element kann mit der Remove-Methode entfernt werden.

MeineListe.Remove "Element"

Es ist zu beachten, dass es keinen Fehler gibt, wenn der Name des Elements nicht gefunden wird. Alle nachfolgenden Indexnummern werden gemäß diesem Entfernvorgang geändert.

Wenn Sie die Indexposition des Elements kennen, können Sie die RemoveAt-Methode verwenden, z. B.

MeineListe.RemoveAt 2

Beachten Sie, dass ein Fehler zurückgegeben wird, wenn die angegebene Indexposition größer als die Anzahl der Elemente in der Array-Liste ist.

Sie können einen Wertebereich aus der Liste entfernen, indem Sie die RemoveRange-Methode verwenden. Die Parameter sind der Startindex und dann die Anzahl der zu entfernenden Elemente, z.B.

MeineListe.RemoveRange 3, 2

Beachten Sie, dass Sie einen Fehler in Ihrem Code erhalten, wenn die Anzahl der Elemente ab dem Startwert größer ist als die Anzahl der Elemente in der Array-Liste ist.

Sowohl bei der RemoveAt- als auch bei der RemoveRange-Methode wäre es ratsam zu prüfen, ob die angegebenen Indexzahlen größer als die Gesamtzahl der Elemente in der Array-Liste sind, um mögliche Fehler abzufangen. Die Count-Eigenschaft gibt die Gesamtzahl der Elemente in der Array-Liste an.

Sub EntfernenBeispiel()
'Array-Listenobjekt definieren
Dim MeineListe As New ArrayList
'Elemente zur Array-Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
MeineListe.Add "Element1"
MeineListe.Add "Element4"
MeineListe.Add "Element5"
' 'Element6' an Indexposition 2 einfügen
MeineListe.Insert 2, "Element6"
'Element2' entfernen
MeineListe.Remove "Element2"
' 'Element' entfernen - dieses existiert nicht in der Array-Liste, macht aber keinen Fehler
MeineListe.Remove "Element"
'Das Element an der Indexposition 2 entfernen
MeineListe.RemoveAt 2
'2 aufeinanderfolgende Elemente ab der Indexposition 2 entfernen
MeineListe.RemoveRange 3, 2
'Durch die Array-Liste iterieren, um zu zeigen, was übrig ist und an welcher Indexposition es sich jetzt befindet
For N = 0 To MeineListe.Count - 1
    MsgBox MeineListe(N) & " Index " & N
Next N
End Sub

Beachten Sie bei der Verwendung von „RemoveAt“ zum Entfernen eines Elements an einer bestimmten Position, dass alle nachfolgenden Indexpositionen geändert werden, sobald dieses Element entfernt wurde. Wenn Sie mehrere Elemente über die Indexposition entfernen, ist es eine gute Idee, mit der höchsten Indexnummer zu beginnen und rückwärts bis zur Position Null zu gehen, damit Sie immer das richtige Element entfernen. Auf diese Weise haben Sie das Problem nicht

Eine Array-Liste sortieren

Ein weiterer großer Vorteil gegenüber einer Sammlung ist die Tatsache, dass Sie die Elemente in aufsteigender oder absteigender Reihenfolge sortieren können.

Das Array-Listenobjekt ist das einzige Objekt in Excel-VBA mit einer Sortiermethode. Die Sortiermethode ist sehr schnell und dies kann ein wichtiger Aspekt bei der Verwendung einer Array-Liste sein.

Beim Sammlungsobjekt musste man sich etwas einfallen lassen, um alle Elemente zu sortieren, aber mit einer Array-Liste ist das sehr einfach.

Die Sort-Methode sortiert in aufsteigender Reihenfolge und die Reverse-Methode in absteigender Reihenfolge.

Sub ArrayListeBeispiel()
'Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList
'Elemente in unsortierter Reihenfolge hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element3"
MeineListe.Add "Element2"
'Die Elemente in aufsteigender Reihenfolge sortieren
MeineListe.Sort
'Durch die Elemente iterieren, um die aufsteigende Reihenfolge anzuzeigen
For Each I In MeineListe
    'Name des Elements anzeigen
    MsgBox I
Next I
'Die Elemente in absteigender Reihenfolge sortieren
MeineListe.Reverse
'Durch die Elemente iterieren, um die absteigende Reihenfolge anzuzeigen
For Each I In MeineListe
    'Name des Elements anzeigen
    MsgBox I
Next I
End Sub

Eine Array-Liste klonen

Eine Array-Liste hat die Möglichkeit, einen Klon oder eine Kopie von sich selbst zu erstellen. Dies ist nützlich, wenn der Benutzer über ein Frontend und Ihren VBA-Code Änderungen an den Elementen vornimmt, Sie aber eine Kopie der Elemente in ihrem ursprünglichen Zustand als Backup behalten müssen.

Dies könnte dem Benutzer eine Undo-Funktion bieten. Möglicherweise hat er die Änderungen vorgenommen und möchte zur ursprünglichen Liste zurückkehren.

Sub KlonenBeispiel()
'Zwei Objekte definieren - eine Array-Liste und ein Objekt
Dim MeineListe As New ArrayList, MeineListe1 As Object
'Erstes Objekt mit Elementen auffüllen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
'MeineListe in MeineListe1 kopieren
Set MeineListe1 = MeineListe.Clone
'Durch MeineListe1 iterieren, um das Klonen nachzuweisen
For Each I In MeineListe1
    'Namen des Elements anzeigen
    MsgBox I
Next I
End Sub

MeineListe1″ enthält nun alle Elemente von „MeineListe“ in der gleichen Reihenfolge

Eine Array-Liste in ein herkömmliches VBA-Array-Objekt hineinkopieren

Sie können eine einfache Methode verwenden, um die Array-Liste in ein normales VBA-Array zu kopieren:

Sub ArrayBeispiel()
'Array-Listenobjekt und ein Standard-Array-Objekt erstellen
Dim MeineListe As New ArrayList, NeuesArray As Variant
'Array-Liste mit Elementen auffüllen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
'Die Array-Liste in das neue Array kopieren
NeuesArray = MeineListe.ToArray
'Durch das neue Array Iterieren - beachten Sie, dass die Anzahl der Array-Listen den maximalen Index liefert
For N = 0 To MeineListe.Count - 1
    'Namen des Elements anzeigen
    MsgBox NeuesArray(N)
Next N
End Sub

Eine Array-Liste in einen Arbeitsblattbereich hineinkopieren

Sie können Ihre Array-Liste in ein bestimmtes Arbeitsblatt und einen Zellenbezug hineinkopieren, ohne diese durchlaufen zu müssen. Sie müssen nur den ersten Zellenbezug angeben

Sub BereichBeispiel()
'Neues Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList
'Elemente zur Liste hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
'Das Zielblatt leeren
Sheets("Tabelle1").UsedRange.Clear
'Elemente in eine Zeile kopieren
Sheets("Tabelle1").Range("A1").Resize(1, MeineListe.Count).Value = MeineListe.toArray
'Elemente in eine Spalte kopieren
Sheets("Tabelle1").Range("A5").Resize(MeineListe.Count, 1).Value = _
WorksheetFunction.Transpose(MeineListe.toArray)
End Sub

Alle Elemente aus einer Array-Liste löschen

Es gibt eine einfache Funktion (Clear), um die Array-Liste vollständig zu leeren.

Sub ListeLeerenBeispiel()
'Array-Listenobjekt erstellen
Dim MeineListe As New ArrayList
'Neue Elemente hinzufügen
MeineListe.Add "Element1"
MeineListe.Add "Element2"
MeineListe.Add "Element3"
'Anzahl der Elemente anzeigen
MsgBox MeineListe.Count
'Alle Einträge löschen
MeineListe.Clear
'Die Anzahl der Elemente anzeigen, um nachzuweisen, dass das Löschen funktioniert hat
MsgBox MeineListe.Count
End Sub

In diesem Beispiel werden Elemente in einer Array-Liste erstellt und dann wird diese geleert. Meldungsboxen zeigen  Die Anzahl der Elemente  in der Array-Liste von vorher und nachher.

Methoden der Array-Liste – Zusammenfassung für Excel VBA

Aufgabe Parameter Beispiele
Element hinzufügen/bearbeiten Wert MeineListe.Add „Element1“
MeineListe(4)= „Element2“
Eine Array-Liste klonen Keine Dim MeineListe As Object
Set MeineListe2 = MeineListe.Clone
In Array kopieren Keine Dim MeinArray As Variant
MeinArray = MeineListe.ToArray
In einen Arbeitsblattbereich (Zeile) kopieren Keine Sheets(„Tabelle1“).Range(„A1“).Resize(1, MeineListe.Count).Value = MeineListe.ToArray
In einen Arbeitsblattbereich (Spalte) kopieren Keine Sheets(„Tabelle1“).Range(„A3“).Resize(MeineListe.Count, 1).Value = WorksheetFunction.Transpose(MeineListe.ToArray)
Erstellen „System.Collections.ArrayList“ Dim MeineListe As Object
Set MeineListe = CreateObject(„System.Collections.ArrayList“)
Deklarieren N/A Dim MeineListe As Object
Suchen / Prüfen, ob Element existiert Zu suchendes Element MeineListe.Contains(„Element2“)
Suche nach der Position eines Elements in der Array-Liste 1. Zu suchendes Element. Dim IndexNo As Long
2. Position, ab der die Suche beginnen soll. IndexNo = MeineListe.IndexOf(„Element3“, 0)
IndexNo = MeineListe.IndexOf(„Element5“, 3)
Anzahl der Elemente ermitteln Keine MsgBox MeineListe.Count
Element einfügen 1. Index – Position, an der eingefügt werden soll. MeineListe.Insert 0, „Element5“
2 Value – Objekt oder Wert, der eingefügt werden soll. MeineListe.Insert 4, „Element7“
Element lesen Index – lange Ganzzahl MsgBox MeineListe.Item(0)
MsgBox MeineListe.Item(4)
Zuletzt hinzugefügtes Element lesen Index – lange Ganzzahl MsgBox MeineListe.Item(list.Count – 1)
Erstes hinzugefügtes Element lesen Index – lange Ganzzahl MsgBox MeineListe.Eintrag(0)
Alle Elemente auslesen (For Each) N/A Dim Element As Variant
For Each Element In MeineListe
MsgBox Element
Next Element
Alle Elemente auslesen (For) Index – lange Ganzzahl Dim i As Long
For i = 0 To MeineListe.Count – 1
MsgBox i
Next i
Alle Elemente entfernen Keine MeineListe.Clear
Element an Position entfernen Indexposition, an der sich das Element befindet MeineListe.RemoveAt 5
Element nach Namen entfernen Das zu entfernende Element aus der Array-Liste MeineListe.Remove „Element3“
Einen Bereich von Elementen entfernen 1. Index – Anfangsposition. MeineListe.RemoveRange 4,3
2. Count – die Anzahl der zu entfernenden Elemente.
In absteigender Reihenfolge sortieren Keine MeineListe.Reverse
In aufsteigender Reihenfolge sortieren Keine MeineListe.Sort
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples