Этот код работал в течение нескольких дней, полностью перекликаясь с помощью словаря. Цикл начал ломаться, и у меня есть дополнительные ключи в словаре, и я понятия не имею, откуда они пришли.VBA Extra key/item pairs in scripting.dictionary
Я создаю scripting.dictionary со следующим:
Dim riskDict As New Scripting.Dictionary
После чего объект пуст, как видно на часы:
Затем я добавить мой первый пара ключей/позиций:
riskDict.Add "Weight", Array("WP", 0)
И после запуска этого o пе строка кода, теперь у меня есть это:
Где же эти две дополнительные клавиши (Пункт 2 и 3) происходят из ?! Это проблема, так как в дальнейшем в моем коде я использую:
For Each key In riskDict
temp = riskDict(key)
...
Next key
И эта петля перерывы, так как он начинает со ссылкой на ключи, которые являются пустыми. Кажется, что это не происходило до сих пор, и код работает нормально в течение нескольких дней. (Я изменил некоторые вещи в другом месте кода, но совершенно не связан с этим.)
Сообщите мне, если я делаю что-то смешное или пропуская что-то очевидное и спасибо!
У вас есть две разные переменные «riskDict» и «riskGroupDict», правильно? Это не ясно, так как вы не разделили весь код. – omegastripes
Ты прав, но я просто схватил неправильный кусок кода. Я исправил свой вопрос, но спасибо за головы! – lukehawk
Не могли бы вы разместить весь цикл цикла «Для каждого». Обратите внимание, что просто ссылка на элемент словаря добавляет новый элемент, если он отсутствует, без вызова метода «Добавить». – omegastripes