Ich habe ein Stück Code, das nicht zu tun scheint, was zu tun ist. VBA-Arrays sind auf alle Fälle veränderbar, aber wenn sie in einem Dictionary als Werte einiger Schlüssel gespeichert werden, sind sie nicht mehr veränderbar. Irgendwelche Ideen?Array-Werte in einem VBA-Wörterbuch ändern
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
Das Problem ist, dass wenn Sie das Array aus dem Wörterbuch mit Mydict ("A") erhalten, erhalten Sie eine Kopie und keine Referenz. Siehe: http://stackoverflow.com/questions/1402876/vba-populating-collection-with-arrays/1402986#1402986 – jtolle