Ich habe ein Stück Code, das nicht das zu tun scheint, was es tun soll. VBA-Arrays sind auf jeden Fall veränderbar, aber es scheint, dass sie nicht mehr veränderbar sind, wenn sie als Werte einiger Schlüssel in einem Dictionary gespeichert werden. Hat jemand eine Idee?
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
1 Stimmen
Das Problem ist, dass Sie, wenn Sie das Array mit mydict("A") aus dem Wörterbuch holen, eine Kopie und keine Referenz erhalten. Siehe: stackoverflow.com/questions/1402876/