Изменение массива оценивает в словаре VBA

У меня есть часть кода, который, кажется, не делает то, что он, как ожидают, сделает. Массивы 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
8
задан Community 9 July 2018 в 19:34
поделиться

1 ответ

Похоже, вам придется установить еще один var для обновления значения массива.

mArray = mydict.Item(1)
mArray(1) = 34
mydict.Item(1) = mArray
11
ответ дан 5 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: