Excel VBA-Arrays: Was ist, wie werden sie verwendet und welche Arten von Arrays gibt es in VBA?
Was ist ein VBA-Array?
Ein Array ist als Speicherort definiert, der mehr als einen Wert speichern kann. Die Werte müssen alle vom gleichen Datentyp sein. Nehmen wir an, Sie möchten eine Liste Ihrer Lieblingsgetränke in einer einzigen Variablen speichern. Dazu können Sie ein VBA-Array verwenden.
Durch die Verwendung eines Arrays können Sie auf die zugehörigen Werte mit demselben Namen verweisen. Zur Unterscheidung können Sie einen Index oder einen Index verwenden. Die einzelnen Werte werden als Elemente des Excel VBA-Arrays bezeichnet. Sie sind vom Index 0 bis zum höchsten Indexwert zusammenhängend.
In diesem Tutorial wird davon ausgegangen, dass Sie Folgendes verwenden Microsoft Excel Version 2013. Das Wissen gilt weiterhin für andere Versionen von Microsoft Auch Excel.
Was sind die Vorteile von Arrays?
Im Folgenden sind einige der Vorteile der VBA-Array-Funktion aufgeführt
- Gruppieren Sie logisch zusammengehörige Daten – nehmen wir an, Sie möchten eine Liste von Schülern speichern. Sie können eine einzelne Array-Variable verwenden, die separate Speicherorte für Schülerkategorien hat, z. B. Kindergarten, Grundschule, Sekundarschule, weiterführende Schule usw.
- Arrays erleichtern das Schreiben von wartbarem Code. Für dieselben logisch zusammenhängenden Daten können Sie eine einzelne Variable definieren, anstatt mehr als eine Variable zu definieren.
- Bessere Leistung – Sobald ein Array definiert wurde, können Daten schneller abgerufen, sortiert und geändert werden.
Arten von Arrays in VBA
VBA unterstützt zwei Arten von Arrays, nämlich;
- Statisch – Diese Arten von Arrays haben eine feste, vorab festgelegte Anzahl von Elementen, die gespeichert werden können. Die Größe des Datentyps eines statischen Arrays kann nicht geändert werden. Diese sind nützlich, wenn Sie mit bekannten Einheiten wie der Anzahl der Tage in einer Woche, dem Geschlecht usw. arbeiten möchten.Für Beispiel: ArrayMonth(12) als String dimmen
- Dynamisch – Diese Arten von Arrays verfügen nicht über eine feste, vorab festgelegte Anzahl von Elementen, die gespeichert werden können. Diese sind nützlich, wenn Sie mit Entitäten arbeiten, deren Anzahl Sie nicht vorab festlegen können.Für Beispiel: ArrayMonth() als Variante dimmen
Syntax zum Deklarieren von Arrays
Statische Arrays
Die Syntax zum Deklarieren STATIC Arrays ist wie folgt:
Dim arrayName (n) as datatype
HIER,
Code | Action |
---|---|
Dimmen Sie den Datentyp arrayName (n). |
|
Dynamische Arrays
Die Syntax zum Deklarieren DYNAMIC Arrays ist wie folgt:
Dim arrayName() as datatype ReDim arrayName(4)
HIER,
Code | Action |
---|---|
Dimmen Sie den Datentyp „arrayName()“. |
|
ReDim arrayName(4) |
|
Array-Dimensionen
Ein Array kann eindimensional, zweidimensional oder mehrdimensional sein.
- Eine Dimension: In dieser Dimension verwendet das Array nur einen Index. Zum Beispiel eine Anzahl von Menschen jeden Alters.
- Zwei Dimensionen: In dieser Dimension verwendet das Array zwei Indizes. Zum Beispiel eine Anzahl von Schülern in jeder Klasse. Es erfordert die Anzahl der Klassen und die Anzahl der Schüler in jeder Klasse
- Mehrdimensional: In dieser Dimension verwendet das Array mehr als zwei Indizes. Zum Beispiel die Temperaturen tagsüber. (30, 40, 20).
So verwenden Sie Array in Excel VBA
Wir werden eine einfache Anwendung erstellen. Diese Anwendung füllt ein Excel-Blatt mit Daten aus einer Array-Variable. In diesem VBA-Array-Beispiel werden wir folgende Dinge tun.
- Erstelle eine neue Microsoft Excel-Arbeitsmappe und speichern Sie sie als Excel-Makro-fähige Arbeitsmappe (*.xlsm)
- Fügen Sie der Arbeitsmappe eine Befehlsschaltfläche hinzu
- Legen Sie die Namens- und Beschriftungseigenschaften der Befehlsschaltfläche fest
- Programmieren der VBA, die die Excel-Tabelle füllt
Machen Sie diese Übung Schritt für Schritt,
Schritt 1 – Erstellen Sie eine neue Arbeitsmappe
- Öffnen Microsoft Excel
- Speichern Sie die neue Arbeitsmappe als VBA Arrays.xlsm
Schritt 2 – Fügen Sie eine Befehlsschaltfläche hinzu
Hinweis: In diesem Abschnitt wird davon ausgegangen, dass Sie mit dem Prozess der Erstellung einer Schnittstelle in Excel vertraut sind. Wenn Sie nicht vertraut sind, lesen Sie das Tutorial VBA Excel-Formularsteuerung und ActiveX-Steuerung. Es zeigt Ihnen, wie Sie die Schnittstelle erstellen
- Fügen Sie dem Blatt eine Befehlsschaltfläche hinzu
- Legen Sie die Namenseigenschaft auf cmdLoadBeverages fest
- Legen Sie die caption-Eigenschaft auf „Getränke laden“ fest
Ihre GUI sollte nun wie folgt aussehen
Schritt 3 – Speichern Sie die Datei
- Klicken Sie auf die Schaltfläche Speichern unter
- Wählen Sie „Excel-Makro-fähige Arbeitsmappe (*.xlsm)“ aus, wie im Bild unten gezeigt
Schritt 4 – Schreiben Sie den Code
Wir werden nun den Code für unsere Anwendung schreiben
- Klicken Sie mit der rechten Maustaste auf die Schaltfläche „Getränke laden“ und wählen Sie „Code anzeigen“.
- Füge dem Klickereignis von cmdLoadBeverages den folgenden Code hinzu
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
HIER,
Code | Action |
---|---|
Dimmen Sie Getränke (1 bis 4) als Zeichenfolge |
|
Getränke(1) = „Pepsi“ |
|
Sheet1.Cells(1, 1).Value = „Meine Lieblingsgetränke.“ |
|
Sheet1.Cells(2, 1).Value = Drinks(1) |
|
Testen unserer Anwendung
Wählen Sie die Registerkarte „Entwickler“ und stellen Sie sicher, dass die Schaltfläche „Designmodus“ deaktiviert ist. Der Indikator ist, dass es einen weißen Hintergrund und keinen farbigen (grünlichen) Hintergrund hat. (Siehe Bild unten)
Klicken Sie auf die Schaltfläche Getränke laden
Sie erhalten folgende Ergebnisse
Laden Sie Excel herunter, das den obigen Code enthält
Laden Sie den obigen Excel-Code herunter
Zusammenfassung
- Ein Array ist eine Variable, die mehr als einen Wert speichern kann
- Excel VBA unterstützt statische und dynamische Arrays
- Arrays erleichtern das Schreiben von wartbarem Code im Vergleich zur Deklaration vieler Variablen für logisch verknüpfte Daten.