- 转1维
- 如果取的range是1列,那么transpose1次可以变成1维数组
- 如果取的range是1行,那么transpose2次可以变成1维数组
- 其他多行多列的是不可能转为1维数组的
Sub test_arr1()
Debug.Print "这都是二维数组"
'单列
arr1 = Range("a1:a10")
'单行
arr2 = Range("a1:e1")
'范围
arr3 = Range("a1:e3")
Debug.Print
Debug.Print "for each不管是几维数组,先行再行逐个显示"
For Each I In arr1
Debug.Print I
Next
Debug.Print
For Each I In arr2
Debug.Print I
Next
Debug.Print
For Each I In arr3
Debug.Print I
Next
Debug.Print
Debug.Print "用for index 的方法遍历"
For I = LBound(arr1) To UBound(arr1)
Debug.Print arr1(I, 1)
Next
Debug.Print
For I = LBound(arr2) To UBound(arr2)
Debug.Print arr2(1, I)
Next
Debug.Print
For I = LBound(arr3) To UBound(arr3)
For J = LBound(arr3, 2) To UBound(arr3, 2)
Debug.Print arr3(I, J);
Next
Debug.Print
Next
Debug.Print
'转1维
'如果取的range是1列,那么transpose1次可以变成1维数组
'如果取的range是1行,那么transpose2次可以变成1维数组
'其他多行多列的是不可能转为1维数组的
arr11 = Application.Transpose(arr1)
arr21 = Application.Transpose(Application.Transpose(arr2))
For I = LBound(arr11) To UBound(arr11)
Debug.Print arr11(I)
Next
Debug.Print
For I = LBound(arr21) To UBound(arr21)
Debug.Print arr21(I)
Next
Debug.Print
End Sub