Dynamisches Array in Excel VBA - Einfache Excel-Makros

Inhaltsverzeichnis

Wenn die Größe Ihres Arrays zunimmt und Sie die Größe des Arrays nicht festlegen möchten, können Sie die ReDim-Schlüsselwort. Excel VBA ändert dann die Größe des Arrays automatisch.

Fügen Sie in Spalte A einige Zahlen hinzu.

Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgenden Codezeilen hinzu:

1. Zuerst deklarieren wir das Array namens numbers. Deklarieren Sie außerdem zwei Variablen vom Typ Integer. Eine benannte Größe und eine benannte i.

Dim numbers() As Integer, size As Integer, i As Integer

Hinweis: Das Array hat noch keine Größe. Zahlen, Größe und ich werden hier zufällig gewählt, Sie können beliebige Namen verwenden. Denken Sie daran, sich im Rest Ihres Codes auf diese Namen zu beziehen.

2. Als nächstes bestimmen wir die Größe des Arrays und speichern es in der Variablen size. Dazu können Sie die Tabellenfunktion CountA verwenden. Fügen Sie die folgende Codezeile hinzu:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. Wir kennen jetzt die Größe des Arrays und können es neu dimensionieren. Fügen Sie die folgende Codezeile hinzu:

ReDim-Zahlen (Größe)

4. Als nächstes initialisieren wir jedes Element des Arrays. Wir verwenden eine Schleife.

Für i = 1 bis Größe
Zahlen(i) = Zellen(i, 1).Wert
Als nächstes

5. Wir zeigen das letzte Element des Arrays mit einer MsgBox an.

MsgBox-Nummern (Größe)

6. Beenden Sie den Visual Basic-Editor, und klicken Sie auf die Befehlsschaltfläche auf dem Blatt.

Ergebnis:

7. Um nun klar zu sehen, warum dies ein dynamisches Array genannt wird, fügen Sie eine Zahl in Spalte A hinzu.

8. Klicken Sie erneut auf die Befehlsschaltfläche.

Fazit: Excel VBA hat die Größe dieses dynamischen Arrays automatisch geändert.

9. Wenn Sie das Schlüsselwort ReDim verwenden, löschen Sie alle vorhandenen Daten, die derzeit im Array gespeichert sind. Fügen Sie dem zuvor erstellten Code beispielsweise die folgenden Codezeilen hinzu:

ReDim-Nummern(3)
MsgBox-Nummern(1)

Ergebnis:

Das Array ist leer.

10. Wenn Sie die Daten im vorhandenen Array bei der Neudimensionierung beibehalten möchten, verwenden Sie das Schlüsselwort Preserve.

ReDim Preserve-Nummern(3)
MsgBox-Nummern(1)

Ergebnis:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave