VBA-Arrays

Excel VBA-Arrays

Im Allgemeinen sollte eine Variable jeweils einen einzelnen Wert enthalten. Wenn wir jedoch mehrere Werte in einer einzelnen Variablen speichern möchten, wird dieser Variablentyp als Array-Variable bezeichnet. Um eine Array-Variable in VBA zu verwenden, müssen wir oder deklarieren Definieren Sie es zuerst. Wir können die Array-Variable mit ihrer Länge oder ohne ihre Länge definieren.

Angenommen, wir haben Daten, die Hunderte von Zeilen und mehrere Spalten enthalten, und wir müssen einen Code erstellen, der die Daten verwendet. In diesem Fall müssen wir nun ein Vielfaches der Variablen erstellen, die den Wert aus den Zellen abruft und an das Programm weitergibt. Dies wird sehr anstrengend sein, um so viele Variablen zu erstellen, und daher verwenden wir in solchen Fällen Arrays in Excel.

Arrays speichern den Datensatz in ihrem Speicher und müssen die Variable nicht für jeden Wert deklarieren, der aus den Daten abgerufen werden muss. Die Notwendigkeit, Arrays zu verwenden, beruht auf der Tatsache, dass in einer Excel-Variablen jeweils ein Wert gespeichert werden soll. Wenn jedoch mehrere Werte von einer Variablen gespeichert werden, wird sie zu einem Array.

  • Das Erstellen eines Arrays entspricht dem Erstellen einer separaten Speichereinheit, in der die Daten gespeichert werden können. Zum Erstellen eines Arrays müssen die Daten vom gleichen Typ sein.
  • Arrays, die wir für Excel geben, müssen dem Datentyp entsprechen, über den wir verfügen. Angenommen, wir haben Daten, die nur Zeilen enthalten. In diesem Fall verwenden wir das „eindimensionale Array“. Wenn Daten auch Spalten enthalten, müssen wir „zweidimensionale Arrays“ verwenden, da diese nur die Werte enthalten können aus den Zeilen und Spalten.
  • Arrays müssen auch als dynamische oder statische Arrays fungieren. Da wir der Formel einen Dynamikbereich geben, können wir auch die Arrays variabel machen. Dynamische Arrays können unendlich viele Zeilen und Spalten enthalten. Wenn die von uns definierten Arrays statischen Typs sind, können sie nur eine begrenzte Anzahl von Zeilen und Spalten enthalten, wie zum Zeitpunkt der Erstellung des Arrays definiert.

Erläuterung

Array arbeiten an der „mathematischen Regel der Matrix“, dh sie identifizieren die Daten nur anhand ihrer Position. Angenommen, wir müssen VBA verständlich machen, dass wir in Zelle „B3“ „20“ benötigen, dann müssen wir den Code der Position als (3, 2) schreiben, wobei der erste Wert für die Position der Zeile und der zweite Wert für steht die Spaltennummer. In der Excel-Welt wird dieser Ortscode als „Obergrenze“ und „Untergrenze“ bezeichnet. Standardmäßig beginnt die Position in Excel bei Eins und nicht bei Null, daher sieht Excel „A1“ als Zeilennummer 0 und nicht als Zeilennummer 1.

Ebenso beginnen die Spalten bei Null und nicht bei Eins.

Diese Arrays können als statisches Array oder dynamisches Array definiert werden. Wenn wir sie als statisches Array definieren, bedeutet dies, dass sie nicht mehr als die Variablen enthalten können, die beim Codieren definiert wurden. Wenn wir uns nicht sicher sind, welchen Wert die Arrays speichern müssen, erstellen wir dynamische Arrays. In solchen Fällen können sie unendlich viele Werte enthalten.

Nachdem wir den gewünschten Array-Typ ausgewählt haben, müssen wir nun die Daten in diese Arrays eingeben.

Diese Daten müssen einzeln angegeben werden, um sich in den folgenden Punkten hervorzuheben.

Nachdem die Daten in diesen Arrays gespeichert wurden, können sie als Variable in der VBA-Codierung verwendet werden.

Liste der Top 5 Arten von Arrays

  1. Statische Arrays
  2. Dynamisches Array
  3. Eindimensionales Array
  4. Zweidimensionales Array
  5. Mehrdimensionales Array

Lassen Sie uns jeden einzelnen im Detail sehen.

# 1 - Statische Arrays

Ein Array mit einer vordefinierten Anzahl von Werten, die darin gespeichert werden können.

# 2 - Dynamisches Array

Array mit einer nicht vordefinierten Anzahl von Werten, die es verarbeiten kann.

# 3 - Eindimensionales Array

Ein Array, das nur Daten aus Zeilen oder Spalten enthalten kann.

# 4 - Zweidimensionales Array

Ein Array, das einen Wert aus den Zeilen und Spalten speichern kann.

# 5 - Mehrdimensionales Array

Wie verwende ich Arrays in VBA (mit Beispielen)?

Sie können diese Arrays in der VBA Excel-Vorlage hier herunterladen - Arrays in der VBA Excel-Vorlage

Arrays können in vielen Situationen verwendet werden, müssen jedoch verwendet werden, wenn die Anzahl der zu deklarierenden Variablen groß ist und es nicht möglich ist, sie zu deklarieren.

Im Folgenden finden Sie einige Beispiele. Bevor wir jedoch zu den Beispielen gehen, lernen wir, den VBA-Editor mit der Tastenkombination zu öffnen

Dadurch wird der VBA-Editor geöffnet. Von dort aus müssen wir den Code in „Dieses Arbeitsblatt“ eingeben.

Beispiel 1

Wählen Sie den gewünschten Array-Typ aus. Sollte es sich um ein dynamisches oder statisches Array handeln?

Wenn wir ein dynamisches Array benötigen, definieren wir die Dimension als "Variante".

Wenn wir ein statisches Array benötigen, definieren wir eine Dimension als "statisch".

Beispiel 2

Definieren Sie die Spalten und Zeilen, die das Array speichern soll.

Wenn wir in der Klammer „1“ eingegeben haben, bedeutet dies, dass das Array einen Wert von 2 Zeilen enthalten kann, da die Excel-Zählung bei Null beginnt.

Wenn wir auch Spalten und Zeilen benötigen, müssen wir beide definieren.

Hier bedeutet "1 bis 2" zwei Zeilen und "1 bis 3" drei Spalten.

Hier haben wir die Regel geändert, wie Excel Zeilen zählt, und sie gebeten, von „1“ und nicht von Null zu zählen.

Beispiel 3

Die Eingabe von Daten in das Array.

Die Daten müssen zellweise eingegeben werden. Hier sind die Daten in Form von (I, j) einzugeben, wobei "I" die Zeile und "J" die Spalte bedeutet.

"A (1,1") bedeutet also, dass die Zelle "A1"

Beispiel 4

Code schließen.

Nachdem die Daten für das Array eingegeben wurden, besteht der letzte Schritt darin, den Code zu schließen.

Dinge, an die man sich erinnern sollte

  • Standardmäßig zählt Excel die Zeilen ab Null. Dies bedeutet, dass "2" anstelle von "I" 3 Zeilen und nicht 2 Zeilen bedeutet. Gleiches gilt für „J“.
  • Die Daten, die für das Array eingegeben werden müssen, müssen von (0, 0) aus der ersten Zeile und ersten Spalte gestartet werden.
  • Wenn wir die dynamischen Arrays verwenden, benötigt dies die Funktion „VBA REDIM“, um die Anzahl der Zeilen und Spalten zu definieren, die gespeichert werden müssen.
  • Wenn Sie ein zweidimensionales Array erstellen, müssen Sie "Integer" als Dimension verwenden.
  • Die Excel-Datei muss in der Version gespeichert werden, die "Makro-kompatibel" ist. Andernfalls verschwindet die in VBA vorgenommene Codierung und wird beim nächsten Mal nicht ausgeführt.