It seems that you need two nested For loops to iterate over all the elements of a 2-dimensional array, and three loops for a 3-dimensional array, and so on. However, the For Each loop offers you a neat and concise solution, as this code proves:
' a 2-dimensional array of Strings
Dim arr(1, 2) As String
Dim i As Integer, j As Integer
' fill the array with strings
For i = 0 To 1
For j = 0 To 2
arr(i, j) = "(" + i + "," + j + ")"
' only one loop to display its contents !!!
Dim v As Variant
For Each v In arr
Note that the For Each loop visits the array elements in the order they are stored in memory, that is one column after the other. This is the output produced by the above code: