VBA数组 遍历

分别用for与for each来遍历数组,进行读与写。


方法1:For循环遍历。

Sub array2()

  Dim arr1(3) As Integer '声明数组
  Dim i As Integer '声明循环变量
  
  '通过 for 循环为数组元素赋值
  For i = 0 To 3
    arr1(i) = 100 * (i + 1)
  Next 

End Sub

运行结果如下:

100 
200 
300 
400

方法2:For Each循环遍历。

Sub array2()

  Dim arr1(3) As Integer '声明数组
  Dim i As Integer '声明循环变量

  '通过 for each循环显示所有数组元素
  For Each Item In arr1
    Debug.Print Item    
  Next

End Sub

代码优化

可以通过LBound与UBound来动态获取数组的最小下标与最大下标,提高代码的可维护性。

Sub array3()
  Dim arr1(3) As Integer
  Dim i As Integer  

  '显示LBound与UBound的结果
  Debug.Print "LBound(arr1):" & LBound(arr1) & ",UBound(arr1):" & UBound(arr1)
  '动态获取最小下标与最大下标
  For i = LBound(arr1) To UBound(arr1)
    arr1(i) = 100 * (i + 1)
  Next

End Sub

运行结果如下:

LBound(arr1):0,UBound(arr1):3
 100 
 200 
 300 
 400