Объект словаря, добавляющий элементы перед вызовом .add ()
Я использую объект словаря изMS Scripting Runtime library хранить серию массивов и при необходимости выполнять операции над ячейками массива. Для создания всех этих записей есть цикл for. Моя проблема в том, что при использовании.exists
собственность, она возвращаетсяTrue
еще до того, как предмет был добавлен.
Более тесная отладка указывает, что ключ добавляется в словарь в начале цикла for, хотя нет.add
Команда используется и не будет использоваться до конца цикла.
Я пробовал несколько разных конфигураций, но вот простой пример, который терпит неудачу:
Dim dTotals As Dictionary
Set dTotals = New Dictionary
dTotals.CompareMode = BinaryCompare
For Each cell In rAppID
If Not dTotals.Exists(cell) Then
Set rAppIDCells = Find_Range(cell, rAppID)
Set rAppIDValues = rAppIDCells.Offset(0, 6)
dAppIDTotal = WorksheetFunction.Sum(rAppIDValues)
dTotals.Add Key:=cell.Value, Item:=dAppIDTotal
End If
Next cell
Где каждая ячейка содержит строку / уникальный идентификатор. В операторе If код возвращает false, даже на первой итерации.