Right, first of all if that's your code you'll get an ambiguous name error, and anyway it's a good idea to avoid keywords in the variable names. Also, VB is right, the control variable in the enumerator must be a variant.
Personally I would do it like this, which is more VB6 than .NET-ish
Public MyArray(2, 2) As String
Public Sub Main()
Dim MyEnum As Integer
Dim MySubEnum As Integer
For MyEnum = LBound(MyArray, 1) To UBound(MyArray, 1)
For MySubEnum = LBound(MyArray, 2) To UBound(MyArray, 2)
Debug.Print MyArray(MyEnum, MySubEnum)
Next
Next
End Sub Hope this helps