Вы не можете редактировать значения после их добавления в коллекцию.Так что это невозможно:
aColl.Item(aKey) = aColl.Item(aKey) + someValue
Вместо этого вы можете вынуть объект из коллекции, отредактировать его значение и добавить его обратно.
temp = aColl.Item(aKey)
aColl.Remove aKey
aColl.Add temp + someValue, aKey
Это немного утомительно, но поместите эти три строки в Sub, и все готово.
Коллекции более удобны, когда они используются в качестве контейнеров для объектов (в отличие от контейнеров для «примитивных» переменных, таких как integer, double и т. Д.).Вы не можете изменить ссылку на объект, содержащийся в коллекции, но вы можете манипулировать объектом, прикрепленным к этой ссылке.
Кстати, я думаю, вы неправильно поняли синтаксис, связанный с Item
.Вы не можете сказать: aColl(aKey).Item
.Правильный синтаксис: aColl.Item(aKey)
, или, если коротко, aColl(aKey)
, поскольку Item
является методом по умолчанию для объекта Collection.Тем не менее, я предпочитаю использовать полную, явную форму ...