Excel VBA ArrayList

Datenstrukturen werden verwendet, um eine Reihe von Daten in Programmiersprachen zu speichern. Es bindet sich eher an den Speicher als an die Adresse. Eine ArrayList ist eine der Datenstrukturen in Excel. Der Vergleich mit normalen Arrays in Excel ArrayList ist dynamisch. Daher ist keine erste Größenangabe erforderlich. ArrayList ist kein Teil von VBA. Es ist einer externen Bibliothek zugeordnet, die mit VBA verwendet werden kann.

ArrayList kann als Liste eines nahe gelegenen Speicherorts definiert werden. Wo die Werte mit den Indexnummern abgerufen werden. Die Liste beginnt mit der Indexnummer '0', das erste Element wird in den '0'-Index eingefügt, gefolgt von 1, 2, 3 usw. ArrayList bietet zahlreiche integrierte Funktionen zum Sortieren, Hinzufügen und Entfernen, Umkehren usw. sind einige davon.

Hinzufügen der Bibliothek

Um die ArrayList in VBA zu verwenden, muss die Bibliothek ' mscorlib.dll' enthalten sein, die im .NET Framework enthalten ist .

  • Drücken Sie F11 oder klicken Sie mit der rechten Maustaste auf den Blattnamen, um das Codefenster aufzurufen. Gehen Sie zum VBA-Codefenster und wählen Sie im Hauptmenü Extras .

  • Das Tools-Menü enthält die Option "Referenzen" und besteht aus einer Liste von Bibliotheken, die VBA zum Einbeziehen verschiedener Objekte unterstützen. Klicken Sie auf die Option Referenz .

  • Sie gelangen in ein Fenster mit einer Liste verschiedener Bibliotheken, die in VBA und Excel unterstützt werden. Scrolle nach unten, um die ' dll' zu finden . Aktivieren Sie das Kontrollkästchen, um die Auswahl zu bestätigen, und drücken Sie die Taste "OK".

Jetzt ist die Bibliothek in Ihrem VBA-Code enthalten und unterstützt verschiedene Methoden, die einer ArrayList zugeordnet sind.

Wie erstelle ich eine VBA ArrayList in Excel?

Im Folgenden finden Sie verschiedene Beispiele zum Erstellen von VBA-ArrayList in Excel.

Sie können diese VBA ArrayList Excel-Vorlage hier herunterladen - VBA ArrayList Excel-Vorlage

Excel VBA ArrayList - Beispiel # 1

Wie füge ich der ArrayList mit VBA Werte hinzu?

ArrayList fungiert als Liste, in der wir Werte hinzufügen können. Dies wird automatisch in den verschiedenen Abschnitten ab 0, 1, 2 usw. gespeichert. Die Werte können mit der add-Methode zur ArrayList hinzugefügt oder eingefügt werden.

In diesem Beispiel erfahren Sie, wie Sie einer ArrayList eine Liste von Werten hinzufügen. Führen Sie die folgenden Schritte aus, um ArrayList mithilfe von VBA-Code in Excel hinzuzufügen.

Schritt 1: Um einer ArrayList eine Liste von Werten hinzuzufügen, erstellen Sie eine Funktion arraylist1.

Code:

 Private Sub arraylist1 () End Sub 

Schritt 2: Nun möchten wir die ArrayList als Objekt in die Funktion aufnehmen, in dem eine Liste als ArrayList deklariert ist.

Code:

 Private Sub arraylist1 () Dim alist As ArrayList End Sub 

Schritt 3: Da dies ein zu verwendendes Objekt ist, müssen Sie eine Instanz der ArrayList erstellen. Legen Sie eine neue Instanz für dieses Objekt fest.

Code:

 Private Sub arraylist1 () Alist als ArrayList dimen Set alist = New ArrayList End Sub 

Schritt 4: Wenn Sie jetzt die 'Add'-Eigenschaft einer ArrayList verwenden, werden die Werte zur ArrayList hinzugefügt. Wo die Liste in der Reihenfolge 0, 1, 2, 3 usw. zu den Indexwerten hinzugefügt wird

Code:

 Private Sub arraylist1 () Liste als ArrayList dimmen Set alist = New ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" Index (3) End Sub 

Schritt 5: Um zu überprüfen, ob die Werte in die Liste aufgenommen wurden, drucken wir die Array-Werte in einem Meldungsfeld aus. Zum Drucken der Werte wird jeder Index gedruckt, da die Werte in diesen Partitionen gespeichert sind.

Code:

 Private Sub arraylist1 () Liste als ArrayList dimmen Set alist = New ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" 'Index (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub 

Schritt 6: Drücken Sie F5 oder die Run-Taste, um das Programm auszuführen. Die Werte werden wie folgt gedruckt. Hier wird eine IP-Adresse in der ArrayList gespeichert und beim Drucken der Werte werden zusätzliche Notationen verknüpft, um die IP-Adresse in einem geeigneten Format zu bilden.

Automatisierungsfehler in VBA

Es ist ein häufiger Fehler, der beim Ausführen einer ArrayList auftritt. Bei einem Automatisierungsfehler kann ein Laufzeitfehler auftreten. -2146232576 (80131700) Automatisierungsfehler

Dies liegt daran, dass nicht die richtige Version von .NET Framework installiert ist. Um mit ArrayList arbeiten zu können, muss mindestens .NET 3.5 oder eine höhere Version von .NET Framework installiert sein.

Excel VBA ArrayList - Beispiel # 2

Sortieren von ArrayList mit VBA-Code

ArrayList unterstützt verschiedene Funktionen wie Sortieren, Umkehren usw., um die in eine ArrayList eingefügten Werte zu sortieren. Sobald Sie der ArrayList eine Liste hinzugefügt haben, können Sie die eingefügte Liste umkehren.

Führen Sie die folgenden Schritte aus, um die ArrayList mit VBA-Code zu sortieren:

Schritt 1: Erstellen Sie eine Funktion namens arraysort1, um die Sortierung innerhalb der eingefügten Werte in einer ArrayList durchzuführen.

Code:

 Sub arraysort1 () End Sub 

Schritt 2: Deklarieren Sie ein Objekt 'arraysort' der ArrayList. Verwenden Sie dieses Objekt, um die Werte in der ArrayList hinzuzufügen und zu sortieren.

Code:

 Sub arraysort1 () Dim arraysort As ArrayList End Sub 

Schritt 3: Ähnlich wie im ersten Beispiel muss eine neue Instanz des deklarierten Objekts erstellt werden. Legen Sie diese Instanz als neue ArrayList fest.

Code:

 Sub arraysort1 () Arraysort dimmen als ArrayList Setze arraysort = New ArrayList End Sub 

Schritt 4: Fügen Sie nun mit der 'Add'-Methode die Elemente in die ArrayList ein. Welches besitzt keine Reihenfolge auf Werten. Fügte zufällig einige Werte in die Liste ein.

Code:

 Sub arraysort1 () Arraysort dimmen als ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" End Sub 

Schritt 5: Um den Unterschied in der ArrayList festzustellen, drucken wir die ArrayList nach dem Einfügen der Werte und vor dem Sortieren.

Code:

 Unterarraysort1 () Arraysort dimmen als ArrayList Arraysort festlegen = Neu ArrayList Arraysort.Add "13" Arraysort.Add "21" Arraysort.Add "67" Arraysort.Add "10" Arraysort.Add "12" Arraysort.Add "45" MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5)) End Sub 

Schritt 6: Drücken Sie F5 auf der Tastatur oder die Ausführen-Taste im Codefenster, um das Programm zum Drucken der ArrayList auszuführen. Die ArrayList wird in derselben Reihenfolge gedruckt, in der sie eingefügt wurde, da die Indexnummern in der richtigen Reihenfolge verwendet werden.

Schritt 7: Wenden Sie nun auf diese Liste die sort-Eigenschaft der ArrayList an. Verwenden Sie die Sortiermethode, um die eingefügte Liste zu sortieren. Die sort-Eigenschaft sortiert die Liste der Werte standardmäßig in aufsteigender Reihenfolge.

Code:

 Sub arraysort1 () Arraysort dimmen als ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort MsgBox (Arraysort (0) & vbCrLf & Arraysort (1) _ & vbCrLf & Arraysort (2) & vbCrLf & Arraysort (3) _ & vbCrLf & Arraysort (4) & vbCrLf & Arraysort (5) End Sub 

Schritt 8: Drücken Sie die Taste F5 oder Ausführen unter VBE, um diesen Code auszuführen. Dabei werden die Werte in der Reihenfolge vom kleinsten zum größten Wert sortiert und gedruckt.

Excel VBA ArrayList - Beispiel # 3

Umkehren der ArrayList mithilfe von VBA-Code

Wenn Sie die Reihenfolge der eingefügten Werte in einer ArrayList-Umkehrmethode umkehren möchten, ist dies verfügbar. Dadurch wird die Reihenfolge der Liste von der aktuellen Reihenfolge umgekehrt. Jetzt haben wir die ArrayList im vorherigen Beispiel bereits in aufsteigender Reihenfolge sortiert.

Versuchen wir, das sortierte Array in absteigender Reihenfolge umzukehren. Verwenden Sie dazu die umgekehrte Methode von ArrayList.

Code:

 Sub arraysort2 () Arraysort dimmen als ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort arraysort.Reverse MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5) Sub 

Nachdem Sie die umgekehrte Methode angewendet haben, wird die ArrayList in absteigender Reihenfolge angezeigt und verwendet das Meldungsfeld, um das umgekehrte Array zu drucken. Die sortierte Liste wird von einem großen Wert in einen kleinen Wert geändert.

Dinge, an die man sich erinnern sollte

  • ArrayList ist von Natur aus dynamisch. Es ist keine Neuinitialisierung erforderlich.
  • Mit ArrayList sind verschiedene integrierte Methoden verknüpft.
  • Im Vergleich zum Array ist ArrayList in Excel VBA einfach zu verwenden.
  • Die unterstützenden .NET-Bibliotheken sollten in VBA enthalten sein, damit sie mit ArrayList zusammenarbeiten können.
  • ArrayList ist ein fortlaufender Speicherort, der anhand von Indexwerten identifiziert wird.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA ArrayList. Hier diskutieren wir, wie ArrayList in Excel VBA zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erstellt wird. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Anleitung zur Verwendung von VBA-Arrays
  2. Excel-Sortierung nach Nummer
  3. So sortieren Sie in Excel mit VBA?
  4. Tutorials zum Sortieren in Excel

Kategorie: