原来的问题和代码
Sub ponyma1()
Dim arr1() '和arr1()下面赋值要一致?要么都arr?
j = 0
'生成数组
arr1() = Range("a1" & ":" & "a" & Range("a65535").End(xlUp).Row)
'注意数组写法 arr(1,2)是个2维数组
'从 excel 的 range 读的内容,一定是二维数组
'特殊的是1列,是2维数组,但可以当成1维数组用?
'arr1()动态数组,维数未确定,或未显示,未知
Debug.Print arr1(1, 1)
For Each i In arr1()
' Debug.Print arr1(i)
Debug.Print j, i
j = j + 1
Next i
'上面j只是个循环计数,并不是真实的index
'这样可以取到真实的数组index范围,但还没有对应起来
Debug.Print LBound(arr1), UBound(arr1)
'如果是2维等 lbound(arr,2)
'如果想取到每个array里的元素的index呢?
For Each i In arr1()
Debug.Print WorksheetFunction.Match(i, arr1, 0), i
Next
End Sub
改颜色
一步一步的解决
先来一维数组
再来二维数组
Sub ponyma1()
Dim arr1(2, 2)
arr1(0, 0) = 1
arr1(0, 1) = 2
arr1(0, 2) = 3
arr1(1, 0) = 4
arr1(1, 1) = 5
arr1(1, 2) = 6
arr1(2, 0) = 7
arr1(2, 1) = 8
arr1(2, 2) = 9
For Each i In arr1()
Debug.Print i
Next
Debug.Print ""
For i = 0 To 2
For j = 0 To 2
Debug.Print arr1(i, j)
Next
Next
Debug.Print ""
For Each i In arr1()
Debug.Print Application.Match(i, arr1(), 0), i
Next
End Sub