Tengo un código que parece no hacer lo que se espera que haga. Las matrices de VBA son mutables por todos los medios, pero parece que cuando se almacenan en un diccionario como valores de algunas claves, ya no se pueden modificar. ¿Algunas ideas?Cambiar valores de matriz en un diccionario de VBA
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
El problema es que cuando obtiene la matriz del diccionario con mydict ("A"), obtiene una copia y no una referencia. Ver: http://stackoverflow.com/questions/1402876/vba-populating-collection-with-arrays/1402986#1402986 – jtolle