VBA过程 数组作为参数

首先回顾数组的声明

Dim 数组变量名称(最大下标) As 元素数据类型

示例:

Dim arr1(3) As Integer

数组作为过程的参数的语法

Sub 过程名称(参数() As 数据类型1…)
  语句块
End Sub

需要在参数名称后加一对小括号( ),但里面不需要加最大下标,否则会报错。


示例:声明过程求数组各元素的和。

Sub sum5(a() As Integer) 
  Dim result As Integer
  result = 0
  For i = 0 To UBound(a)
    result = result + a(i)
  Next
  Debug.Print result 
End Sub

其中a()表示参数为数组类型。


调用过程代码如下。

Sub main5()
  Dim arr1(5) As Integer
  '数组元素为 : 100,200,300,400,500,600
  For i = 0 To UBound(arr1)
    arr1(i) = (i + 1) * 100
  Next 

  sum5 arr1
End Sub

输出结果

2100