2015-03-02 61 views
0

我正在从工作表中填充数组OccGroupELT,然后再进行一些计算。我得到运行时错误9:当外循环达到i = 9541尝试将值分配给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 

回答

2

你的范围行15去排ELTRowNum所以你不能从循环1 ELTRowNum。你应该环路ELTRowNum - 14代替,或者更好的使用LBoundUbound

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

感谢@Rory帮助.. – Nishith 2015-03-02 13:13:31