Zum Hauptinhalt springen

VBA Excel: Wie deklariere ich ein Array richtig

In Excel VBA ist ein Array eine Datenstruktur, mit der Sie eine große Anzahl von Werten speichern und organisieren können. Um Arrays in Excel VBA korrekt zu verwenden, müssen Sie jedoch wissen, wie sie deklariert und initialisiert werden.

Das Deklarieren eines Arrays in Excel VBA erfolgt mithilfe eines Schlüsselworts Dim. Im Folgenden werden der Name des Arrays und seine Dimension angegeben. Sie können die Dimension eines Arrays festlegen, indem Sie für jede durch ein Komma getrennte Matrixdimension einen oberen und einen unteren Index angeben. Sie können beispielsweise ein eindimensionales Array mit 10 Elementen wie folgt deklarieren:

Dim myArray(1 To 10) As Integer

Wenn die oberen und unteren Indizes des Arrays nicht angegeben sind, ist die Dimension des Arrays 0. In diesem Fall wird das Array als nicht initialisiert betrachtet und seine Größe kann während der Programmausführung geändert werden.

Um ein mehrdimensionales Array in VBA Excel zu deklarieren, müssen Sie für jede Dimension einen oberen und einen unteren Index angeben. Sie können beispielsweise ein zweidimensionales Array mit der Dimension 3 mal 3 wie folgt deklarieren:

Dim myArray(1 To 3, 1 To 3) As Integer

Das Deklarieren und Initialisieren eines Arrays kann gleichzeitig erfolgen. Sie können beispielsweise ein eindimensionales Array mit 5 Elementen wie folgt deklarieren und initialisieren:

Dim myArray As Variant

myArray = Array("apple", "banana", "cherry", "date", "elderberry")

Sie können nicht nur Variant als Arraydatentyp verwenden, sondern auch andere Datentypen wie Integer, Double, String und andere. Dies spart Speicher und erhöht die Programmleistung.

Grundlegende Konzepte und Möglichkeiten von Arrays verstehen

Zu den grundlegenden Konzepten im Zusammenhang mit Arrays gehören Folgendes:

  • Feldelement - jede Variable, die in einem Array gespeichert ist;
  • Index - ein numerischer Wert, der die Position des Elements im Array angibt. Die Indizierung von Arrays in VBA beginnt bei Null;
  • Array-Größe - die Gesamtzahl der Elemente, die in einem Array enthalten sein können;
  • Zweidimensionales Array - ein Array mit zwei Indizes und speichert die Elemente als Tabelle, in der jedes Element mit zwei Indizes adressiert werden kann;
  • Mehrdimensionales Array - ein Array, das mehr als zwei Indizes hat und es Ihnen ermöglicht, komplexere Daten zu speichern und zu verarbeiten.

Arrays bieten mehrere Funktionen, die sie zu sehr nützlichen Werkzeugen machen:

  • Speichern mehrerer Werte - Arrays ermöglichen es Ihnen, mehrere Werte desselben Typs in einer Datenstruktur zu speichern;
  • Datenverarbeitung - mit Arrays können Sie viele Datenoperationen auf effiziente und bequeme Weise durchführen;
  • Zugriff auf Elemente - Arrays ermöglichen den Zugriff auf jedes Element anhand seines Indexes, was die Arbeit mit den Daten innerhalb des Arrays erleichtert.

Ein richtiges Verständnis der grundlegenden Konzepte und Funktionen von Arrays ist ein wichtiger Schritt bei der Beherrschung von Excel VBA und ermöglicht eine effektive Lösung für eine Vielzahl von Datenverarbeitungsaufgaben.

Array-Deklarationsregeln in Excel-VBA

Es gibt mehrere Möglichkeiten, Arrays in VBA Excel zu deklarieren. Sie können verwendet werden, um große Datenmengen in einem Programm zu speichern und zu verwalten.

1. Eindimensionale Arrays:

Eindimensionale Arrays sind der einfachste Array-Typ. Sie werden wie folgt deklariert:

Dim arrayName(size) As DataType

  • arrayName ist der Name des Arrays.
  • size - die Anzahl der Elemente im Array.
  • DataType - Der Datentyp der Array-Elemente (z. B. Integer, String, Double).

Beispiel für die Deklaration eines eindimensionalen Arrays:

Dim numbers(10) As Integer

2. Mehrdimensionale Arrays:

Mit mehrdimensionalen Arrays können Sie Daten in einer komplexeren Struktur speichern, die aus Zeilen und Spalten besteht. Sie werden wie folgt deklariert:

Dim arrayName(size1, size2, . ) As DataType

  • arrayName ist der Name des Arrays.
  • size1, size2, . - die Dimensionen jeder Maßeinheit.
  • DataType - Der Datentyp der Array-Elemente (z. B. Integer, String, Double).

Beispiel für die Deklaration eines zweidimensionalen Arrays:

Dim matrix(3, 3) As Integer

3. Dynamische Arrays:

Mit dynamischen Arrays können Sie die Größe eines Arrays ändern, während das Programm ausgeführt wird. Sie werden wie folgt deklariert:

Dim arrayName() As DataType

Um die Größe eines Arrays zu ändern, verwenden Sie die ReDim-Funktion :

ReDim Preserve arrayName(size)

  • arrayName ist der Name des Arrays.
  • DataType - Der Datentyp der Array-Elemente (z. B. Integer, String, Double).
  • size - Die neue Größe des Arrays.

Beispiel für die Deklaration eines dynamischen Arrays:

Dim numbers() As Integer ReDim Preserve numbers(10)

Dies sind die Regeln für die Deklaration von Arrays in Excel VBA. Sie helfen Ihnen, Arrays zu verwenden, um effizienter mit den Daten in Ihrem Code zu arbeiten.

Definieren der Dimension und des Arraytyps

Wenn Sie ein Array in VBA Excel deklarieren, müssen Sie die Dimension und den Datentyp der Elemente angeben. Die Dimension eines Arrays bestimmt die Anzahl der Dimensionen und die Länge jeder Dimension.

Es gibt zwei Arten von Arrays in VBA Excel:

  1. Eindimensionale Arrays: Enthalten eine Dimension und werden mit dem Operator deklariert Dim. Zum Beispiel:

Dieser Code deklariert ein eindimensionales Array arr Typs Integer mit einer Länge von 11 Elementen (0 bis 10).

  1. Mehrdimensionale Arrays: enthält mehrere Dimensionen und wird mit einem Operator deklariert Dim. Zum Beispiel:

Dieser Code deklariert ein zweidimensionales Array arr Typs String mit einer Länge von 6 Elementen in der ersten Dimension und 6 Elementen in der zweiten Dimension.

Der Datentyp der Array-Elemente muss auch bei der Deklaration angegeben werden. Zu den möglichen Datentypen in Excel VBA gehören:

  • Integer: ganzzahliger Datentyp (16-Bit-Ganzzahl)
  • Long: langer ganzzahliger Datentyp (32-Bit-Ganzzahl)
  • Single: Gleitkommadatentyp (einfache Genauigkeit)
  • Double: Gleitkommadatentyp (doppelte Genauigkeit)
  • String: datentyp zum Speichern von Zeichenfolgen
  • und andere.

Wenn Sie ein Array deklarieren, können Sie auch mehrere Datentypen für seine Elemente angeben, indem Sie ein Schlüsselwort verwenden Variant. Zum Beispiel:

Dim arr(10) As Variant

In diesem Fall ist das Array arr kann Elemente verschiedener Datentypen enthalten.

Wenn Sie die Dimension und den Typ des Arrays kennen, können Sie Arrays in Excel-VBA-Programmen zum Speichern und Verarbeiten von Daten erstellen und verwenden.

Beispiele für das Deklarieren von Arrays in Excel VBA

Es gibt mehrere Möglichkeiten, Arrays in VBA Excel zu deklarieren. Betrachten wir einige Beispiele:

  • Deklaration eines eindimensionalen Arrays: Dim arr(5) As Integer . In diesem Fall wird ein eindimensionales arr-Array mit fünf Integer-Elementen erstellt.
  • Deklarieren eines zweidimensionalen Arrays: Dim arr(2, 3) Als String . In diesem Fall wird ein zweidimensionales arr-Array mit drei Strings und vier Spalten vom Typ String erstellt.
  • Deklarieren eines dynamischen Arrays: Dim arr() Als Integer . In diesem Fall wird ein arr-Array erstellt, ohne seine Dimension anzugeben. Sie können die Dimension des Arrays während der Programmausführung ändern.

Es gibt auch andere Möglichkeiten, Arrays zu deklarieren, z. B. ein Array mit bestimmten Werten zu deklarieren, ein Array mit einer vordefinierten Dimension zu deklarieren usw. Wählen Sie je nach Ihrer Aufgabe eine geeignete Methode aus, um ein Array zu deklarieren.

Eindimensionale und mehrdimensionale Arrays

In Excel VBA können Sie sowohl eindimensionale als auch mehrdimensionale Arrays deklarieren.

Eindimensionale Arrays - Dies sind Arrays, in denen sich Elemente nur in einer Dimension befinden. Sie werden wie folgt deklariert:

  • Um ein Array eines bestimmten Typs zu deklarieren:
Dim arrayName(size) As dataType
  • Um ein Array mit Variantentyp zu deklarieren:
Dim arrayName(size)

Wobei arrayName der Name des Arrays ist, size die Anzahl der Elemente im Array ist, DataType der Datentyp, mit dem die Elemente des Arrays gefüllt werden.

Die Elemente des Arrays können dann mit Werten gefüllt werden. Dazu können Sie eine For-Schleife verwenden oder einfach den Elementen des Arrays Werte nach Index zuweisen:

arrayName(index) = value

Dabei ist index der Index des zu füllenden Elements und value der Wert, mit dem das Element gefüllt werden soll.

Mehrdimensionale Arrays dies sind Arrays, in denen Elemente in zwei oder mehr Dimensionen angeordnet sind. Sie werden wie folgt deklariert:

  • Um ein zweidimensionales Array eines bestimmten Typs zu deklarieren:
Dim arrayName(rows, columns) As dataType
  • Um ein zweidimensionales Array mit Variantentyp zu deklarieren:
Dim arrayName(rows, columns)

Wobei arrayName der Name des Arrays ist, rows die Anzahl der Zeilen im Array ist, columns die Anzahl der Spalten im Array ist, DataType der Datentyp ist, mit dem die Elemente des Arrays gefüllt werden.

Ähnlich wie bei eindimensionalen Arrays können Elemente eines mehrdimensionalen Arrays durch Schleifen oder durch Zuweisung von Werten nach Index mit Werten gefüllt werden.

  • Um ein 3D-Array eines bestimmten Typs zu deklarieren:
Dim arrayName(depth, rows, columns) As dataType
  • So deklarieren Sie ein optionales 3D-Array:
Dim arrayName(depth, rows, columns)

Wobei arrayName der Name des Arrays ist, depth die Anzahl der Tiefen (Dimensionen) im Array ist, rows die Anzahl der Zeilen in jeder Dimension ist, columns die Anzahl der Spalten in jeder Dimension ist, DataType der Datentyp, mit dem die Elemente des Arrays gefüllt werden.

Mehrdimensionale Arrays können mehr als zwei Dimensionen haben, aber das Deklarieren und Verwenden solcher Arrays wird viel schwieriger und erfordert fortgeschrittenere Sprachkenntnisse.

Durch die Verwendung von Arrays können Sie große Datenmengen bequem speichern und verarbeiten, was sie zu sehr nützlichen Werkzeugen bei der Arbeit mit großen Datenmengen macht.

Vorteile und Verwendung von Arrays in VBA Excel

  • Effizienz: Arrays ermöglichen die Arbeit mit mehreren Datenelementen in einer einzigen Anweisung, wodurch der Code effizienter und schneller wird.
  • Flexibilität: Arrays können verschiedene Datentypen wie Zahlen, Strings, Datumsangaben usw. enthalten, wodurch es einfach ist, verschiedene Datentypen gleichzeitig zu organisieren und zu verarbeiten.
  • Einfache Datenverarbeitung: Arrays erleichtern den Zugriff und die Verarbeitung von Daten, da jedes Element im Array seinen eigenen Index hat, mit dem Sie die benötigten Daten schnell finden und verarbeiten können.
  • Vereinfachen des Codes: Die Verwendung von Arrays vereinfacht den Code und reduziert die Anzahl der wiederholten Anweisungen, da Sie die gleichen Aktionen für alle Elemente im Array mithilfe von Schleifen ausführen können.
  • Leistungsverbesserung: Das Laden von Daten in Arrays vor der Verarbeitung ist viel schneller als der Zugriff auf die Daten in den Zellen des Excel-Arbeitsblatts, was die Codeleistung erheblich verbessert.
  • Einfache Handhabung: Arrays bieten eine Vielzahl von Funktionen und Methoden zur Manipulation von Daten, z. B. Sortieren, Filtern, Suchen usw., das hilft, die Datenverarbeitung zu vereinfachen und zu beschleunigen.

Im Allgemeinen vereinfacht und beschleunigt die Verwendung von Arrays in Excel VBA die Verarbeitung großer Datenmengen erheblich, macht den Code lesbarer und wartbarer und bietet viele flexible Werkzeuge für die Arbeit mit Daten.