我有一段代码似乎没有完成预期的工作。 VBA数组绝对是可变的,但似乎当它们作为某些键的值存储到Dictionary中时,它们将不再可变。有任何想法吗?
Sub foo()
Dim mydict As New Dictionary
mydict.Add "A", Array(1, 2, 3)
MsgBox mydict("A")(1)
''# The above shows 2, which is fine
mydict("A")(1) = 34
MsgBox mydict("A")(1)
''# The above also shows 2, which is not fine
End Sub
最佳答案
看来您还需要设置另一个var来更新数组值。
mArray = mydict.Item(1)
mArray(1) = 34
mydict.Item(1) = mArray
关于excel - 在VBA字典中更改数组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2404212/