在VBA中声明数组,异常
在下面的代码段中,VBA告诉我,在VBA中声明数组,异常,vba,Vba,在下面的代码段中,VBA告诉我,boundary必须是Dim vals(1到boundary)上的一个常量作为Variant行。这是我第一次看到这个。这里发生了什么事 Dim boundary As Integer boundary = distrib.Count Dim vals(1 To boundary) As Variant For i = 1 To boundary vals(i) = distrib(i, 3) + distrib(i, 4) Next i distrib
boundary
必须是Dim vals(1到boundary)上的一个常量作为Variant
行。这是我第一次看到这个。这里发生了什么事
Dim boundary As Integer
boundary = distrib.Count
Dim vals(1 To boundary) As Variant
For i = 1 To boundary
vals(i) = distrib(i, 3) + distrib(i, 4)
Next i
distrib
是声明为variant的数组您不能声明具有非常量值的固定大小数组;相反,您需要将其声明为动态数组(通过省略大小),然后将其重新定尺寸到所需的边界
Dim vals() As Variant
ReDim vals(1 To boundary)
不能在声明变量的同一操作中分配数据。请改用
Redim
Dim boundary As Long
boundary = 10
Dim vals() As Variant
ReDim vals(1 To boundary)
最初可以使用变量边界声明数组,但可以重新定义为变量:
Dim boundary As Integer
boundary = distrib.Count
Dim vals() as Variant
ReDim vals(1 To boundary)
For i = 1 To boundary
vals(i) = distrib(i, 3) + distrib(i, 4)
Next i