Excel VBA-Arrays

Excel VBA Array ist nichts anderes als eine Variable, die denselben Datentyp enthalten kann. Ein Array ist eine Gruppe einer Variablen, in der mehrere Variablen gespeichert werden können. Der Variablenname ist identisch, kann jedoch unterschiedliche Werte in einer einzelnen Variablen enthalten. Ein VBA-Array ist ein Variablentyp, der zum Speichern von Listen mit Daten desselben Typs verwendet wird.

Wenn wir 5 Zellen haben, die Zahlen enthalten, müssen wir 5 Variablen deklarieren, um 5 verschiedene Zahlen im Bereich zu enthalten. Mit array können wir jedoch 5 verschiedene Werte in einer einzelnen Variablen selbst speichern.

Wie benutze ich Excel VBA Arrays?

Lassen Sie uns anhand einiger Beispiele verstehen, wie Excel VBA-Arrays und ihre Typen verwendet werden.

Sie können diese Excel-Vorlage für VBA-Arrays hier herunterladen - Excel-Vorlage für VBA-Arrays

Beispiel 1

Schauen Sie sich das folgende Beispiel an. X ist eine Variable, die den Datentyp Ganzzahl enthält.

Code:

 Sub Array_Example1 () Dim x As Integer x = 1 End Sub 

Weisen Sie nun der deklarierten Variablen x den Wert 1 zu .

Fügen wir den Wert 1 in die Zelle A1 ein.

Code:

 Sub Array_Example1 () Dim x As Integer x = 1 Range ("A1"). Value = x 
 End Sub 

Der x-Wert ist gleich 1 und im Bereich A1 wird der Wert als Wert von x eingefügt, dh der Wert von x ist 1. Führen Sie nun den Code mit der Taste F5 oder manuell aus, um die Ergebnisse anzuzeigen.

Im obigen Beispiel enthält x nur eine Variable, die alles ist. Aber wenn ich 5 aufeinanderfolgende Zahlen mit der einzelnen Variablen einfügen möchte, muss ich die Typ-Array-Variable verwenden, die viele Variablenwerte in einem einzelnen Variablennamen enthalten kann.

Beispiel # 2

Schauen Sie sich nun das folgende Beispiel an. Ein Variablenname ist x und der Datentyp ist LONG. Aber während ich die Variable selbst deklariere, habe ich die Klammer geöffnet und 1 bis 5 erwähnt. Dies bedeutet, dass die Variable x 5 verschiedene Arten von Werten enthält.

Code:

 Sub Array_Example () Dim x (1 bis 5) As Long, i As Integer End Sub 

Danach habe ich jeder Variablen die Werte zugewiesen. X (1) = 20 bedeutet, dass die erste Variable gleich dem Wert von 20 sein sollte. X (2) = 25 bedeutet, dass die zweite Variable gleich dem Wert von 25 sein sollte und so weiter.

Code:

 Sub Array_Example () Dim x (1 bis 5) Solange i als Ganzzahl x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 End Sub 

Später habe ich eine weitere Variable namens "I" deklariert. Dies ist der zweite Variablentyp und enthält den Datentyp " Integer" .

Im nächsten Schritt habe ich FOR-Schleifen angewendet, um zugewiesene Zahlen in das Array in der ersten Spalte einzufügen. Ich habe den Wert der Variablen i auf 1 gesetzt und die Schleife angewiesen, 1 bis 5 Mal zu laufen. Wenn die Schleife zum ersten Mal läuft, ist der i- Wert gleich 1. CELLS (I, 1) .value = x (i) Dies bedeutet, dass i zum ersten Mal gleich 1 ist, dh CELLS (1, 1) .value = x (1), in der ersten Zeile der ersten Spalte (Zelle A1) ist der Wert der Wert des ersten Arrays ( x (1) ), dh 20.

Wenn die Schleife zum zweiten Mal läuft, wird der i- Wert 2, dh CELLS (2, 1) .value = x (2), in der ersten Spalte der zweiten Zeile (A2) ist der Wert der Wert des zweiten Arrays ( x (2) ) dh 25.

Code:

 Sub Array_Example () Dim x (1 bis 5) Solange i als Ganzzahl x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 For i = 1 bis 5 Zellen (i, 1) .Wert = x (i) Nächstes i Ende Unter 

So ändern sich die Werte, wenn die Schleifen weiterlaufen. Wenn die Schleifen zum dritten Mal laufen, beträgt der A3-Zellenwert 44, der A4-Zellenwert zum vierten Mal 78, wenn die Schleifen zum letzten Mal laufen, oder der A5-Zellenwert zum fünften Mal 96.

Nachdem Sie den Code mit der Taste F5 oder manuell ausgeführt haben, werden die folgenden Ergebnisse angezeigt.

Arten von Arrays in Excel

Arrays haben in VBA unterschiedliche Typen. Es gibt fünf Arten von Arrays, die in Excel verfügbar sind.

  • Statisches Array
  • Dynamisches Array
  • Eindimensionales Array
  • Zweidimensionales Array
  • Mehrdimensionales Array

Statisches Array

Bei dieser Art von Array ist die Länge des Arrays im Voraus festgelegt und bleibt konstant.

Code:

 Sub Static_Example () Dim ArrayType (1 bis 3) As Integer ArrayType (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 Cells (1, 1) .Value = ArrayType (1) Cells (1, 2) .Value = ArrayType (2) Cells (1, 3) .Value = ArrayType (3) End Sub 

Im obigen Code wird die ArrayType-Länge weit im Voraus als 1 bis 3 bestimmt, und der Datentyp ist Integer.

Nachdem Sie den Code mit der Taste F5 oder manuell ausgeführt haben, werden die folgenden Ergebnisse angezeigt.

Dynamisches Array

Bei dieser Art von Array ist die Länge des Arrays nicht im Voraus festgelegt.

Code:

 Sub Dynamic_Example () Dim ArrayType () As Variant ReDim ArrayType (3) ArrayType (1) = "My Name" ArrayType (2) = "is" ArrayType (3) = "Excel" Cells (1, 1) .Value = ArrayType (1) Zellen (1, 2). Wert = ArrayType (2) Zellen (1, 3). Wert = ArrayType (3) End Sub 

Bei dieser Art von Array handelt es sich um Variant und die Länge wird hier nicht festgelegt. Nachdem ich die Variable deklariert habe, habe ich die Länge des Arrays mithilfe der ReDim- Funktion zugewiesen . Dieses Array fügt die folgenden Werte ein: Zelle A1 = Mein Name, Zelle B1 = ist, Zelle C1 = Excel.

Eindimensionales Array

Bei dieser Art von Array wird die Länge bestimmt, aber in einer Dimension funktioniert es.

Code:

 Sub One_Dimensional () Dim OneDimension (1 bis 3) As String OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 End Sub 

Zeigen Sie diesen Wert in der VBA-Meldungsbox an.

Code:

 Sub One_Dimensional () Dim OneDimension (1 bis 3) As String OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) End Sub 

Führen Sie diesen Code mit der Taste F5 oder manuell aus. Das folgende Ergebnis wird angezeigt.

Zweidimensionales Array

Bei dieser Art von Array wird die Länge in zwei Dimensionen bestimmt und funktioniert.

Code:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) So lange Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 End Sub 

Speichern Sie nun diese Werte in den Zellen unterhalb des Codes.

Code:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) So lange Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 Für i = 1 bis 2 Für j = 1 bis 2 Zellen (i, j) = TwoDimension (i, j) Weiter j Weiter i Ende Sub 

Dadurch werden die Daten wie unten gespeichert.

Mehrdimensionales Array

Bei diesem Array-Typ wird die Länge bestimmt, bei mehrdimensionalen Arrays funktioniert dies jedoch.

Code:

 Sub Multi_Dimensional () Dim TwoDimension (1 bis 3, 1 bis 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimension (3, 1) = 98 MultiDimension (3, 2) = 54 

Wenn Sie sich zuerst den obigen Code ansehen, habe ich das Array als 1 bis 3 und dann als 1 bis 2 deklariert. Dies bedeutet, wenn ich das Array zuerst schreibe, kann ich nur 1 bis 3 Zahlen verwenden, aber im zweiten Leerzeichen kann ich nur verwenden 1 bis 2 nicht 1 bis 3.

Mit Loop können wir Werte in Zellen einfügen. Ich habe zwei Schleifen für ein mehrdimensionales Array verwendet.

Code:

 Sub Multi_Dimensional () Dim TwoDimension (1 bis 3, 1 bis 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimension (3, 1) = 98 MultiDimension (3, 2) = 54 Für i = 1 bis 3 Für j = 1 bis 2 Zellen (i, j) = MultiDimension (i, j) Weiter j Next i End Sub 

Nachdem Sie den Code mit der Taste F5 oder manuell ausgeführt haben, werden die folgenden Ergebnisse angezeigt.

Dinge, an die man sich erinnern sollte

  • Ein Array zählt die Werte von Null, nicht von 1.
  • Array (0, 0) bedeutet erste Zeile der ersten Spalte.
  • Diese Excel-Makrodatei muss als makrofähige Arbeitsmappe gespeichert werden.
  • Im Falle eines dynamischen Arrays müssen wir den Wert des Arrays mithilfe der REDIM-Funktion in VBA zuweisen.

Empfohlene Artikel

Dies war ein Leitfaden für VBA-Arrays. Hier haben wir die Arten von Arrays in VBA und die Verwendung von Excel-VBA-Arrays zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. FIND-Funktion in Excel mit Beispielen
  2. Was ist die VBA-Funktion in Excel?
  3. Leitfaden zum VBA-Bereichsobjekt
  4. Wie benutze ich die VBA VLOOKUP-Funktion?

Kategorie: