Verwenden von Arrays

Sie können ein Array deklarieren, um mit einer Menge von Werten desselben Datentyps zu arbeiten. Ein Array ist eine einzelne Variable mit vielen Fächern zum Speichern von Werten, während eine typische Variable nur ein Speicherfach hat, in dem sie nur einen Wert speichern kann. Verweisen Sie auf das Array als Ganzes, wenn Sie sich auf alle darin enthaltenen Werte beziehen möchten, oder Sie können auf seine einzelnen Elemente verweisen.

Wenn Sie z. B. die Tagesausgaben für jeden Tag des Jahres speichern möchten, können Sie eine Arrayvariable mit 365 Elementen deklarieren, anstatt 365 einzelne Variablen. Jedes Element in einem Array enthält einen Wert. Mit der folgenden Anweisung wird die Arrayvariable mit 365 Elementen deklariert. Standardmäßig wird ein Array ab dem Wert Null indiziert, sodass die Obergrenze dieses Arrays 364 lautet, nicht 365.

Dim curExpense(364) As Currency 

Um den Wert eines einzelnen Elements festzulegen, geben Sie den Index des Elements an. Im folgenden Beispiel wird jedem Element im Array ein Anfangswert von 20 zugewiesen.

Sub FillArray() 
 Dim curExpense(364) As Currency 
 Dim intI As Integer 
 For intI = 0 to 364 
 curExpense(intI) = 20 
 Next 
End Sub

Ändern der Untergrenze

Verwenden Sie die Option Base-Anweisung am Anfang eines Moduls , um den Standardindex des ersten Elements von 0 in 1 zu ändern. Im folgenden Beispiel ändert die Anweisung Option Base den Index für das erste Element, und mit der Anweisung Dim wird die Arrayvariable mit 365 Elementen deklariert.

Option Base 1 
Dim curExpense(365) As Currency 

Sie können die Untergrenze eines Arrays auch mithilfe einer Bis-Klausel explizit festlegen. Dies ist im folgenden Beispiel veranschaulicht.

Dim curExpense(1 To 365) As Currency 
Dim strWeekday(7 To 13) As String 

Speichern von Variant-Werten in Arrays

Arrays von Variant-Werten können auf zwei Arten erstellt werden. Eine Möglichkeit ist die Deklaration eines Arrays mit dem Variant-Datentyp. Dies ist im folgenden Beispiel veranschaulicht:

Dim varData(3) As Variant 
varData(0) = "Claudia Bendel" 
varData(1) = "4242 Maple Blvd" 
varData(2) = 38 
varData(3) = Format("06-09-1952", "General Date") 

Die andere Möglichkeit ist die Zuweisung des Arrays, das von der Array -Funktion zurückgegeben wird, zu einer Variant -Variablen. Dies ist im folgenden Beispiel veranschaulicht.

Dim varData As Variant 
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _ 
Format("06-09-1952", "General Date")) 

Sie identifizieren die Elemente in einem Array mit Variant-Werten nach dem Index, und zwar unabhängig von dem Verfahren, das Sie zum Erstellen des Arrays verwenden. Die folgende Anweisung kann z. B. beiden obigen Beispielen hinzugefügt werden.

MsgBox "Data for " & varData(0) & " has been recorded." 

Verwenden von multidimensionalen Arrays

In Visual Basic können Sie Arrays mit bis zu 60 Dimensionen deklarieren. Mit der folgenden Anweisung wird z. B. ein zweidimensionales 5x10-Array deklariert.

Dim sngMulti(1 To 5, 1 To 10) As Single 

Wenn Sie sich das Array als Matrix vorstellen, steht das erste Argument für die Zeilen und das zweite Argument für die Spalten.

Verwenden Sie geschachtelte Anweisung Für...Danach, um multidimensionale Arrays zu verarbeiten. Die folgende Prozedur füllt ein zweidimensionales Array mit Einzel-Werten.

Sub FillArrayMulti() 
 Dim intI As Integer, intJ As Integer 
 Dim sngMulti(1 To 5, 1 To 10) As Single 
 
 ' Fill array with values. 
 For intI = 1 To 5 
 For intJ = 1 To 10 
 sngMulti(intI, intJ) = intI * intJ 
 Debug.Print sngMulti(intI, intJ) 
 Next intJ 
 Next intI 
End Sub

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.