VBA-Arrays funktionieren in Excel

In VBA-Arrays wird die Gruppe von Objekten zusammen definiert. In VBA gibt es neun verschiedene Array-Funktionen: ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT und UBOUND. Alle diese Funktionen sind für das Array integriert In VBA gibt die Array-Funktion den Wert für das angegebene Argument an.

Excel VBA Array Funktion

Die Array-Funktion ist eine Sammlung von Werten in einer einzelnen Variablen. Wir können einem Unterprogramm in vba, Funktionen und Eigenschaften ein Array bereitstellen. VBA-Arrays sind eine der häufig verwendeten Techniken, um mehr als einen Wert in der Variablen zu speichern.

Beispiele für die Excel VBA-Array-Funktion

Anstatt viele Variablen zu deklarieren und die Werte zu speichern, können wir das Excel VBA-Array verwenden, um den Wert in einer einzelnen Variablen selbst zu speichern. Schauen Sie sich zum Beispiel das folgende Beispiel an

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

Code:

 Sub Array_Ex () Dim x als Ganzzahl Dim y als Ganzzahl x = 1 y = 2 Bereich ("A1"). Wert = x Bereich ("A2"). Wert = y End Sub 

Im obigen Beispiel habe ich zwei Variablen mit den Namen x & y deklariert. X hält 1 als Wert und Y hält 2 als Wert.

Schauen Sie sich nun das Funktionsbeispiel für ein Excel VBA-Array mit einer einzelnen Variablen an.

Code:

 Sub Array_Ex () Dim x (1 bis 2) als ganzzahliger Bereich ("A1"). Wert = x (1) Bereich ("A2"). Wert = x (2) End Sub 

Wenn Sie nun diesen VBA-Code ausführen, haben wir Werte in Zelle A1 & A2.

Array-Variablen gaben das Ergebnis als Null zurück. Dies liegt daran, dass wir gerade Variablen als zwei deklariert haben, diesen Variablen jedoch keine Werte zugewiesen haben. Wir müssen diesen Variablen also Werte zuweisen.

Code:

 Sub Array_Ex () Dim x (1 bis 2) As Integer x (1) = 10 x (2) = 20 Bereich ("A1"). Wert = x (1) Bereich ("A2"). Wert = x (2 ) End Sub 

Führen Sie nun den Code aus, um Ergebnisse zu erhalten.

Bevor wir die Werte von Array-Variablen in Zellen eingeben, müssen wir den deklarierten Array-Variablen den Wert zuweisen, so wie wir die Variablen x (1) = 10 & x (2) = 20 zugewiesen haben.

Beispiel 1 - Seriennummern mit statischem Array einfügen

Schauen wir uns das Beispiel der Verwendung eines statischen Arrays zum Einfügen von Seriennummern an. Dies ist dem vorherigen sehr ähnlich.

Code:

 Sub StaticArray_Ex () Dim x (1 bis 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1"). Wert = x (1) Bereich ("A2"). Wert = x (2) Bereich ("A3"). Wert = x (3) Bereich ("A4"). Wert = x (4) Bereich ("A5") ) .Wert = x (5) End Sub 

Führen Sie nun diesen Code aus, um Seriennummern einzufügen.

Beispiel 2 - Seriennummern mit Dynamic Array einfügen

Jetzt sehen wir den zweiten Array-Typ, dh das dynamische Array

Code:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Wert = x (1) Bereich ("A2"). Wert = x (2) Bereich ("A3"). Wert = x (3) Bereich ("A4"). Wert = x (4) Bereich (" A5 "). Wert = x (5) End Sub 

Führen Sie nun diesen Code aus, um das Ergebnis der Seriennummern zu erhalten. Wir erhalten das gleiche Ergebnis wie das vorherige.

Wenn Sie feststellen, dass wir beim Deklarieren der Variablen nicht die Länge des Arrays angegeben haben, haben wir stattdessen den letzten Wert des VBA-Arrays mithilfe der VBA-Redim-Funktion zugewiesen. Redim enthält den letzten Wert des zu übergebenden Arrays.

Beispiel 3 - Erstellen einer Funktion Einfügen von Monatsnamen mithilfe eines Arrays

Wir haben gesehen, wie man mit Arrays in VBA arbeitet. Jetzt werden wir sehen, wie man mit einem Array arbeitet, um VBA-Funktionen in Excel zu erstellen. Die Funktion ist nichts anderes als eine benutzerdefinierte Funktion in VBA. Neben der Verwendung integrierter Funktionen können wir mit Excel VBA auch eigene Funktionen erstellen.

Code:

 Funktion List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov." "," Dec ") End Function 

Der folgende Code erstellt eine Funktion, die Monate in unser Excel-Blatt einfügen kann.

Kopieren Sie den folgenden Code und fügen Sie ihn in Ihr Modul ein.

Speichern Sie nun diesen Code und schließen Sie den VBA-Editor. Gehen Sie nach dem Schließen des VBA-Editors zum Arbeitsblatt und geben Sie die soeben erstellte Formel ein. In Ihrem Arbeitsblatt sollte die Formel List_Of_Months angezeigt werden .

Öffnen Sie die Formel und drücken Sie die Eingabetaste. Wir werden den Namen des ersten Monats bekommen, dh Jan.

Wenn Sie die Formel noch einmal einfügen, erhalten wir Jan nur nicht im nächsten Monat Februar. Wählen Sie also zuerst 12 Spalten in einer Zeile aus.

Öffnen Sie nun die Formel in der D1-Zelle.

Da wir die Formel mit dem Array erstellt haben, müssen wir die Formeln nur als Array-Formel schließen. Halten Sie also Strg + Umschalt + Eingabetaste gedrückt. Wir hätten alle 12-Monats-Namen.

Dinge, an die man sich erinnern sollte

  • Es stehen zwei weitere Array-Typen zur Verfügung, nämlich zweidimensionales Array und mehrdimensionales Array.
  • Arrays beginnen bei 0 und nicht bei 1. Null bedeutet die erste Zeile und die erste Spalte.
  • Das Array ist ein großes Thema, das Sie verstehen müssen, um zum nächsten Level zu gelangen.
  • Die Array-Variable enthält jedes Mal viele Daten, wenn sie zur nächsten Ebene übergeht.
  • Mit Redim wird die letzte Länge des Arrays im dynamischen Array-Typ gespeichert.