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 StringsDim arr(1, 2) As StringDim i As Integer, j As Integer' fill the array with stringsFor i = 0 To 1 For j = 0 To 2 arr(i, j) = "(" + i + "," + j + ")" NextNext' only one loop to display its contents !!!Dim v As VariantFor Each v In arr Debug.Print vNext
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:
(0,0)(1,0)(0,1)(1,1)(0,2)(1,2)