Zum Hauptinhalt springen

Einführung in das Arbeiten mit Arrays in VBA Excel: Grundlegende Operationen und Anwendungsbeispiele

Arrays sind eines der wichtigsten Programmierwerkzeuge in VBA (Visual Basic for Applications), das zum Entwickeln von Makros in Microsoft Excel verwendet wird. Arrays ermöglichen es Ihnen, große Datenmengen zu speichern und zu verarbeiten, indem Sie eine Sammlung von Elementen desselben Typs darstellen. In diesem Artikel werden wir uns die grundlegenden Operationen mit Arrays in VBA Excel ansehen und Beispiele für deren Verwendung vorstellen.

Vorgänge mit Arrays umfassen das Erstellen eines Arrays, das Auffüllen mit Werten, den Zugriff auf Arrayelemente, das Ändern von Elementwerten, das Sortieren und Filtern von Daten. In VBA Excel werden Schleifen, bedingte Anweisungen und Array-Funktionen zum Arbeiten mit Arrays verwendet. Es ist wichtig zu beachten, dass die Indizierung von Array-Elementen bei 0 beginnt, dh das erste Element hat einen Index von 0, das zweite Element hat einen Index von 1 und so weiter.

Beispiele für die Verwendung von Arrays in Excel VBA können vielfältig sein. Sie können beispielsweise Arrays verwenden, um Daten aus verschiedenen Tabellenzellen zu speichern und sie anschließend zu analysieren, zu sortieren und zu filtern. Arrays können auch für die Arbeit mit großen Datenmengen wie Kunden-, Produkt- oder Finanzlisten nützlich sein. Die Verwendung von Arrays in der Programmierung vereinfacht und beschleunigt die Verarbeitung von Daten in Excel erheblich.

Die Verwendung von Arrays in Excel VBA ist ein leistungsfähiges Werkzeug für die Arbeit mit Daten. Nachdem Sie die grundlegenden Operationen und Beispiele für die Verwendung von Arrays gemeistert haben, können Sie große Datenmengen effizient und flexibel verarbeiten und Ihre Arbeit in der Programmierung in Microsoft Excel vereinfachen.

Definieren und Deklarieren von Arrays in Excel VBA

Es gibt mehrere Möglichkeiten, Arrays in VBA zu deklarieren und zu initialisieren:

  1. Eindimensionale Arrays: sie werden mit dem Schlüsselwort Dim deklariert, gefolgt von dem Namen des Arrays und seiner Dimension in Klammern. Ein Beispiel: Dim numbers(4) Als Integer In diesem Beispiel wird ein Array deklariert numbers mit einer Dimension von 5 Elementen (Indizes von 0 bis 4) und einem Datentyp Integer. das heißt, ein numerischer Datentyp ohne Dezimalstelle.
  2. Zweidimensionale Arrays: werden mit dem Schlüsselwort Dim deklariert, gefolgt von zwei oder mehr Zahlen in Klammern, die durch ein Komma getrennt sind. Ein Beispiel: Dim matrix(3, 2) Als String In diesem Beispiel wird ein zweidimensionales Array deklariert matrix mit einer Dimension von 4 Zeilen und 3 Spalten und einem Datentyp String, das heißt, ein String-Datentyp.
  3. Implizite Initialisierung: arrays in VBA können bei der Deklaration implizit initialisiert werden, indem eine Liste von Array-Elementen Werte zugewiesen werden. Ein Beispiel: Dim DaysOfWeek() As String DaysOfWeek = Array("Montag", "Dienstag", "Wednesday", "Thursday", "Freitag", "Saturday", "Sonntag") In diesem Beispiel ist ein Array daysOfWeek deklariert ohne Angabe der Dimension. Die Werte der Array-Elemente werden dann durch eine Liste von Zeilen angegeben, die in der Funktion eingeschlossen sind Array.

Das Definieren und Deklarieren von Arrays in VBA Excel ermöglicht die Arbeit mit großen Datenmengen und vereinfacht die Verarbeitung und Verwendung von Arrays. Mithilfe von Arrays können Sie die Daten einfach in eine Tabelle organisieren, Operationen für jedes Element im Array durchführen und die Daten für eine spätere Analyse sortieren und filtern.

Eindimensionale Arrays deklarieren

Eindimensionale Arrays werden in Excel-VBA mit einem Schlüsselwort deklariert Dim geben Sie den Namen des Arrays an und geben Sie dann den Datentyp der Arrayelemente in Klammern an []. Zum Beispiel:

Dim arrNames() As String

In diesem Beispiel wird ein eindimensionales Array von arrNames vom Typ String deklariert, das Strings enthält.

Wenn Sie ein eindimensionales Array deklarieren, können Sie auch die Anzahl der darin enthaltenen Elemente angeben. Zum Beispiel:

Dim arrNumbers(10) As Integer

In diesem Beispiel wird ein eindimensionales Array von arrNumbers vom Typ Integer deklariert, in das bis zu 11 Elemente gespeichert werden können, da die Indizes des Arrays bei 0 beginnen.

Arrays können auch mit einem Schlüsselwort deklariert werden Static damit ihre Werte zwischen Prozedur- oder Funktionsaufrufen beibehalten werden. Zum Beispiel:

Static arrData(4) As Double

In diesem Beispiel wird ein statisches eindimensionales Array von arrData vom Typ Double deklariert, in dem bis zu 5 Elemente gespeichert werden können.

Nachdem Sie ein Array deklariert haben, können Sie direkt über Indizes auf seine Elemente zugreifen, z. B.:

In diesem Beispiel wird dem arrNames-Element mit dem Index 0 der Wert "John" zugewiesen.

Deklarieren von mehrdimensionalen Arrays

Verwenden Sie die folgende Syntax, um ein mehrdimensionales Array zu deklarieren:

Dim arrayName(Indizes) As Typ

  • arrayname ist der Name des Arrays, das Sie auswählen;
  • indizes - Die Anzahl der Indizes für jede Dimension des Arrays;
  • Typ - Der Datentyp, der in einem Array gespeichert werden soll, kann ein beliebiger möglicher Datentyp in VBA sein.

Beispiel für die Deklaration eines zweidimensionalen Arrays:

Dim zweidimensionales Array(3, 4) As Integer

In diesem Fall haben wir ein zweidimensionales Array mit zwei Indizes deklariert. Der erste Index nimmt Werte zwischen 0 und 3 und der zweite Index zwischen 0 und 4 an. Ein solches Array würde 4 Zeilen und 5 Spalten haben, dh 20 Elemente vom Typ Integer.

Nachdem Sie ein Array deklariert haben, können Sie auf seine Elemente zugreifen und verschiedene Operationen mit ihnen durchführen: werte zuweisen, Werte ändern, Werte anzeigen usw.

Grundlegende Operationen mit Arrays in VBA Excel

Zu den grundlegenden Operationen mit Arrays in Excel VBA gehören:

1. Array-Deklaration: Das Schlüsselwort "Dim" wird verwendet, um ein Array in VBA Excel zu deklarieren, gefolgt von dem Namen des Arrays und der Dimension des Arrays. Zum Beispiel:

Dim myArray(5) As Integer

2. Initialisieren eines Arrays: Arrays können sofort bei der Deklaration oder später initialisiert werden. Das Schlüsselwort "Array" wird verwendet, um ein Array in VBA Excel zu initialisieren, gefolgt von den durch Kommas getrennten Werten der Array-Elemente. Zum Beispiel:

Dim myArray() As StringmyArray = Array("apple", "banana", "orange")

3. Zugriff auf Array-Elemente: In VBA Excel werden Indizes verwendet, um auf Arrayelemente zuzugreifen. Die Indizes des Arrays beginnen bei Null. Um beispielsweise auf das erste Element eines Arrays zuzugreifen, wird die folgende Syntax verwendet:

Dim myArray(2) As IntegermyArray(0) = 10 ' Первый элемент массива

4. Ändern der Größe eines Arrays: In VBA Excel können Sie die Größe eines Arrays mithilfe der Funktion "ReDim" ändern. Um beispielsweise die Dimension eines Arrays um ein einzelnes Element zu ändern, verwenden Sie die folgende Syntax:

Dim myArray(2) As IntegerReDim Preserve myArray(3) ' Изменение размерности на 4 элемента

5. Schleifen von Array-Elementen: Sie können die Schleifen "For" oder "For Each" verwenden, um Array-Elemente in VBA Excel zu durchlaufen. Der folgende Code gibt beispielsweise alle Elemente eines Arrays aus:

Dim myArray(2) As StringmyArray(0) = "apple"myArray(1) = "banana"myArray(2) = "orange"For i = 0 To UBound(myArray)MsgBox myArray(i)Next i

6. Sortieren eines Arrays: In VBA Excel können Sie ein Array mit der Funktion "Sort" sortieren. Der folgende Code sortiert beispielsweise ein Array in aufsteigender Reihenfolge:

Dim myArray(2) As StringmyArray(0) = "apple"myArray(1) = "banana"myArray(2) = "orange"Application.WorksheetFunction.Sort myArray

Arrayvorgänge in Excel VBA sind ein wichtiger Teil der Arbeit mit Daten. Wenn Sie diese Vorgänge kennen und verwenden, können Sie effizient mit Arrays arbeiten und die Verarbeitung großer Datenmengen vereinfachen.

Auffüllen von Arrays

Um mit Arrays in VBA Excel zu arbeiten, müssen Sie zuerst ein Array definieren und es mit Werten füllen. Es gibt mehrere Möglichkeiten, Arrays in Excel-VBA zu füllen:

1. Manuelle Befüllung:

Sie können ein Array manuell mit Werten füllen, indem Sie jedes Element einzeln angeben. Zum Beispiel:

Dim numbers(3) As Integernumbers(0) = 10numbers(1) = 20numbers(2) = 30numbers(3) = 40

2. Füllen mit Schleifen:

Arrays können mit Schleifen gefüllt werden. Zum Beispiel eine Schleife For kann verwendet werden, um ein Array mit aufeinanderfolgenden Zahlen zu füllen:

Dim numbers(3) As IntegerDim i As IntegerFor i = 0 To 3numbers(i) = i + 1Next i

Als Ergebnis dieses Codes wird das numbers-Array mit den Zahlen 1, 2, 3, 4 gefüllt.

3. Füllen mit Funktionen:

Arrays können auch mit verschiedenen Funktionen gefüllt werden, die Arrays zurückgeben. Zum Beispiel eine Funktion Array() kann verwendet werden, um ein Array gleichzeitig zu erstellen und zu füllen:

Dim fruits() As Stringfruits = Array("apple", "banana", "orange")

Als Ergebnis dieses Codes enthält das Fruits-Array also drei Elemente: "apple", "banana" und "orange".

4. Auffüllen von Arrays aus Zellbereichen:

Sie können Arrays erstellen und mit Werten aus Zellbereichen in einer Excel-Tabelle füllen. Zum Beispiel:

Dim rng As RangeDim values() As VariantSet rng = Range("A1:A5")values = rng.Value

Als Ergebnis dieses Codes enthält das values-Array Werte aus den Zellen A1 bis A5.

Das Auffüllen von Arrays ist ein wichtiger Schritt bei der Arbeit mit ihnen. Die Auswahl der Füllmethode hängt von der jeweiligen Aufgabe und den Anforderungen ab.