我使用以下代码为数组赋值。我为此使用For循环。有没有其他方法可用于我不必逐个单元地分配价值?
ReDim OccGroupELT(ELTRowNum, 14)
For i = 1 To ELTRowNum
'year
OccGroupELT(i, 1) = Sheets("main").Range("C15").Offset(i - 1, 0)
'eventID
OccGroupELT(i, 2) = Sheets("main").Range("C15").Offset(i - 1, 1)
'loss
For j = 3 To 14
OccGroupELT(i, j) = Sheets("main").Range("C15").Offset(i - 1, j - 1).Value * (1 + Factor)
Next j
Next i
更新 我应该使用下面的代码,而不是使用上面的代码,因为循环遍历每个单元比循环遍历数组更耗时?
ReDim OccGroupELT(ELTRowNum, PerilCount)
OccGroupELT = Sheets("Main").Range("ED14:EL" & ELTRowNum).Value
ReDim OccGroupELT_Calc(ELTRowNum, PerilCount)
For i = 1 to ELTRowNum
OccGroupELT_Calc(i, 1) = OccGroupELT(i, 1)
OccGroupELT_Calc(1, 2) = OccGroupELT(i, 2)
Next i
For i = 1 to ELTRowNum
For j = 3 to PerilCount+2
OccGroupELT_Calc(i, j) = OccGroupELT(i, j) * (1 + ALEA)
Next j
Next i