2015-03-02 78 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