vba更好的方法将数组中的所有值设置为相同的东西

时间:2012-05-22 15:06:33

标签: vba excel-vba excel

这是个人的好奇心。

在VBA中,如果我有一个大小为2的数组:

Dim r(1) as Variant

我希望数组中的两个值都是-1。我可以这样做:

r(0)=-1
r(1)=-1

或者我可以用循环迭代它们并将它们设置为-1。

所以我的问题是,有没有什么办法可以在没有迭代的情况下将数组中的所有值设置为相同的东西?

或者,有什么方法可以做类似的事情:

r = array(-1,-1)

这可能是一个非常愚蠢的问题,但我似乎无法找到答案。

2 个答案:

答案 0 :(得分:9)

我不擅长画画。但是,这应该为您提供并明确与变体数组相关的概念。

variant versus variant array

答案 1 :(得分:5)

是的,你可以做到。但是在声明数组时你必须小心

实施例

Option Explicit

Sub Sample()
    Dim r As Variant '<~~

    r = Array(-1, -1)

    Debug.Print r(0)
    Debug.Print r(1)
End Sub

<强>后续

请参阅Excel帮助文件:)数组函数返回包含Variant的{​​{1}}。您不能直接将数组分配给另一个数组。要将数组分配给另一个数组,您必须使用此方法。

array