Was ist ein VBA-Array?
Ein Array ist als Speicherort definiert, an dem mehr als ein Wert gespeichert werden kann. Die Werte müssen alle vom gleichen Datentyp sein. Angenommen, Sie möchten eine Liste Ihrer Lieblingsgetränke in einer einzigen Variablen speichern. Dazu können Sie das VBA-Array verwenden.
Mithilfe eines Arrays können Sie auf die zugehörigen Werte mit demselben Namen verweisen. Sie können einen Index oder einen Index verwenden, um sie voneinander zu unterscheiden. 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 Lernprogramm wird davon ausgegangen, dass Sie Microsoft Excel Version 2013 verwenden. Das Wissen gilt auch für andere Versionen von Microsoft Excel.
In diesem Tutorial zur VBA-Programmierung lernen Sie:
- Was sind die Vorteile von Arrays?
- Arten von Arrays in VBA
- Verwendung von Array in Excel VBA
- Testen unserer Anwendung
Was sind die Vorteile von Arrays?
Im Folgenden sind einige der Vorteile aufgeführt, die die VBA-Array-Funktion bietet
- Gruppieren Sie logisch zusammenhängende Daten - nehmen wir an, Sie möchten eine Liste der Schüler speichern. Sie können eine einzelne Array-Variable verwenden, die separate Speicherorte für Schülerkategorien hat, z. B. Kindergarten, Grundschule, Sekundarschule, Gymnasium 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 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 Entitäten wie der Anzahl der Tage in einer Woche, dem Geschlecht usw. arbeiten möchten.
Zum Beispiel : Dim ArrayMonth (12) As String
- Dynamisch - Diese Arten von Arrays haben keine festgelegte Anzahl von Elementen, die gespeichert werden können. Diese sind nützlich, wenn Sie mit Entitäten arbeiten, bei denen Sie die Anzahl nicht vorgeben können.
Zum Beispiel : Dim ArrayMonth () als Variante
Syntax zum Deklarieren von Arrays
Statische Arrays
Die Syntax zum Deklarieren von STATIC- Arrays lautet wie folgt:
Dim arrayName (n) as datatype
HIER,
Code | Aktion |
Dim arrayName (n) Datentyp |
|
Dynamische Arrays
Die Syntax zum Deklarieren von DYNAMIC- Arrays lautet wie folgt:
Dim arrayName() as datatypeReDim arrayName(4)
HIER,
Code | Aktion |
Dim arrayName () Datentyp |
|
ReDim arrayName (4) |
|
Array-Abmessungen
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 tagsüber Temperaturen. (30, 40, 20).
Verwendung von Array in Excel VBA
Wir werden eine einfache Anwendung erstellen. Diese Anwendung füllt eine Excel-Tabelle mit Daten aus einer Array-Variablen. In diesem VBA-Array-Beispiel gehen wir wie folgt vor.
- Erstellen Sie eine neue Microsoft Excel-Arbeitsmappe und speichern Sie sie als Excel Macro-Enabled Workbook (* .xlsm).
- Fügen Sie der Arbeitsmappe eine Befehlsschaltfläche hinzu
- Legen Sie den Namen und die Beschriftungseigenschaften der Befehlsschaltfläche fest
- Programmieren des VBA, der die Excel-Tabelle füllt
Lassen Sie diese Übung Schritt für Schritt machen,
Schritt 1 - Erstellen Sie eine neue Arbeitsmappe
- Öffnen Sie 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 Erstellen einer Schnittstelle in Excel vertraut sind. Wenn Sie nicht vertraut sind, lesen Sie das Tutorial VBA Excel Form Control & ActiveX Control. Es zeigt Ihnen, wie Sie die Schnittstelle erstellen
- Fügen Sie dem Blatt eine Befehlsschaltfläche hinzu
- Setzen Sie die name-Eigenschaft auf cmdLoadBeverages
- Setzen Sie die Beschriftungseigenschaft auf Getränke laden
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 Macro-Enabled Workbook (* .xlsm), wie in der Abbildung unten gezeigt
Schritt 4 - Schreiben Sie den Code
Wir werden jetzt den Code für unsere Anwendung schreiben
- Klicken Sie mit der rechten Maustaste auf die Schaltfläche Getränke laden und wählen Sie den Ansichtscode aus
- Fügen Sie dem Klickereignis von cmdLoadBeverages den folgenden Code hinzu
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(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 |
Aktion |
Dim Drinks (1 bis 4) als String |
|
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 "Entwurfsmodus" 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 die folgenden Ergebnisse
Laden Sie Excel mit dem obigen Code herunter
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 zum Deklarieren vieler Variablen für logisch zusammenhängende Daten.