O objeto do dicionário que adiciona itens antes de .add () é chamado

Eu estou usando um objeto de dicionário doBiblioteca do MS Scripting Runtime para armazenar uma série de matrizes e executar operações nas células da matriz, conforme necessário. Há um loop for para percorrer o processo de criação de todas essas entradas. Meu problema é que ao usar o.exists propriedade, ele está retornandoTrue mesmo antes do item ter sido adicionado.

Depuração mais próxima indica que a chave está sendo adicionada ao dicionário no início do loop for, mesmo que não.add O comando é usado e não será usado até o final do loop.

Eu tentei algumas configurações diferentes, mas aqui está um exemplo simples que falha:

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

Onde cada célula contém uma string / id exclusivo. Na instrução If, o código está retornando falso, mesmo na primeira iteração.

questionAnswers(2)

yourAnswerToTheQuestion