这可能是微不足道的,但我无法通过谷歌找到答案。
在Visual Basic中,是否可以将数组保存到变量中,然后将该数组设置为等于该变量,从而将该数组恢复为以前的自身?
示例:
Dim SomeArray(20) As Integer
X = SomeArray
{Do stuff to the SomeArray}
SomeArray = X
我通过使用定义为Variant的变量X来尝试这个,但这会产生编译错误。有什么建议吗?
修改
谢谢大家试图帮助我。我在下面发布了我的测试VBA代码。我在声明" X = SomeArray"中已经收到编译错误。我希望你们中的一个能告诉我我的错误在哪里。这是代码:
Dim SomeArray(), X() As Integer
Sub Macro1()
ReDim SomeArray(1 To 20)
X = SomeArray
For i = 1 To 20
SomeArray(i) = i
Next i
SomeArray = X
For i = 1 To 20
MsgBox "SomeArray(" & i & ") = " & SomeArray(i)
Next i
End Sub
答案 0 :(得分:1)
只是声明第一个数组的数据类型,Scott说。现在看来你很困惑,深呼吸并复制粘贴这段代码。 :)一段时间后重温它,一切都会清楚。 :)
Dim SomeArray() As Integer, X() As Integer
Sub Macro1()
ReDim SomeArray(1 To 20)
X = SomeArray
For i = 1 To 20
SomeArray(i) = i
Next i
SomeArray = X
For i = 1 To 20
MsgBox "SomeArray(" & i & ") = " & SomeArray(i)
Next i
End Sub
答案 1 :(得分:0)
不确定你在你的例子中做了什么 - 你甚至不使用X
我假设您要测试将SomeArray传输到X数组
我只是使用X的变体并执行此操作
IntegerProperty