在数组中计算时运行时错误9

时间:2015-03-02 12:45:52

标签: vba excel-vba excel

我正在从工作表填充数组OccGroupELT并在之后进行一些计算。当外循环达到i = 9541时,我得到运行时错误9:下标超出范围,试图将值赋给OccGroupELT(9541,1)。知道为什么会这样吗?

Dim OccGroupELT(9554, 9) AS Variant
OccGroupELT = Sheets("Main").Range("ED15:EL" & ELTRowNum).Value


For i = 1 To ELTRowNum
    For j = 3 To PerilCount + 2
        OccGroupELT(i, j) = OccGroupELT(i, j) * (1 + ALEA)
    Next j
Next i

1 个答案:

答案 0 :(得分:2)

您的范围从行 15 到行ELTRowNum,因此您无法从 1 循环到ELTRowNum。您应该循环到ELTRowNum - 14,或者更好地使用LBoundUbound

For i = Lbound(OccGroupELT, 1) To UBound(OccGroupELT, 1)