Wenn Sie als Laufvariable eine Variant-Variable verwenden,
können Sie jedes Array auch in einer For...Each-Schleife
durchlaufen:
Dim TestArray(1 To 3) As String
Dim i As Integer
Dim Item As Variant
For i = 1 To 3
TestArray(i) = "Item " & i
Next 'i
For Each Item In TestArray
Debug.Print Item
Next
ergibt:
Item 1
Item 2
Item 3
Die Behauptung, dass das tatsächlich für jedes Array gilt,
zeigt sich, wenn Sie es mit einem mehrdimensionalen Array zu tun
haben. Überraschenderweise funktioniert das auch:
Dim TestArray(1 To 3, 1 To 3, 1 To 3) As String
Dim i As Integer
Dim ii As Integer
Dim iii As Integer
Dim Item As Variant
For i = 1 To 3
For ii = 1 To 3
For iii = 1 To 3
TestArray(i, ii, iii) = "(" & i & "," & ii & "," & iii & ")"
Next
Next
Next
For Each Item In TestArray
Debug.Print Item
Next
ergibt folgende Reihung der Elemente in dem mehrdimensionalen
Test-Array:
(1,1,1)
(2,1,1)
(3,1,1)
(1,2,1)
(2,2,1)
(3,2,1)
(1,3,1)
(2,3,1)
(3,3,1)
(1,1,2)
(2,1,2)
(3,1,2)
(1,2,2)
(2,2,2)
(3,2,2)
(1,3,2)
(2,3,2)
(3,3,2)
(1,1,3)
(2,1,3)
(3,1,3)
(1,2,3)
(2,2,3)
(3,2,3)
(1,3,3)
(2,3,3)
(3,3,3)
|