我是VBA的新手,我正在尝试为数组分配一些累积值,但是会发生以下错误:
下标超出范围(错误9)。
代码如下:
Dim array1(), acm As Long
Dim i As Integer
i = 0
For lin = 4 To contRows
For col = 3 To contColumns
acm = acm + Sheets("2017").Cells(lin, col).Value
Next col
array1(i) = acm 'error 9
i = i + 1
Next lin
我希望将来自该行的每个累加值存储在不同的数组索引中。
答案 0 :(得分:0)
(从tigeravatar复制)
您永远不会给array
尺寸。您需要ReDim
为其提供适当的尺寸,或者需要在原始Dim
行中包含其尺寸。否则,它是一个不能容纳任何元素的数组,因此该数组中的任何位置都将无效(因此“超出范围”)。在Dim array1()...
行是ReDim array1(1 to contRows - 3)