存储VBA计算数组中的值

时间:2017-01-23 10:12:48

标签: arrays excel vba excel-vba

尊敬的专家,我想将每个值存储在由VBA Loop计算的VBA-Array中。在循环完成之后,我想使用该VBA阵列进行进一步的计算。下面的例子更具体地解释了我的问题。

Sub macro3()

For x = 1 To 5
xx = 1 + x
Next

End Sub

基本上,从上面循环得到的每个答案,即(2,3,4,5,6)必须存储在特定数组OR中,以帮助我使用每个值,即(2, 3,4,5,6)再次进行我的进一步计算。整个活动必须从VBA内存中完成。基本上我不想使用Excel电子表格范围存储每个循环值然后定义该电子表格范围为数组。

2 个答案:

答案 0 :(得分:1)

如果你知道元素的数量,那么下面将创建一个名为'answer'的数组(参见DIM语句),该数组包含五个评估:

Sub macro3()

Dim answer(1 To 5)
For x = 1 To 5
    answer(x) = 1 + x
Next

End Sub

我怀疑你所追求的可能会比这复杂一点,所以如果是这样的话,请提供更多细节。

答案 1 :(得分:1)

除了CLR的回答 - 如果你没有'知道ReDim基本公式的元素数量,数组看起来像这样 -

Sub macro3()
Dim x As Integer
Dim xx() As Variant

For x = 1 To 5
    ReDim Preserve xx(0 To x - 1)
    xx(x - 1) = 1 + x
Next

End Sub