Obiekt słownika dodający elementy przed wywołaniem .add ()

Używam obiektu słownika zBiblioteka środowiska wykonawczego skryptów MS do przechowywania szeregu tablic i wykonywania operacji na komórkach macierzy, jeśli to konieczne. Istnieje pętla for, aby przejść przez proces tworzenia wszystkich tych wpisów. Mam problem z używaniem.exists nieruchomość, wracaTrue nawet przed dodaniem przedmiotu.

Bliższe debugowanie wskazuje, że klucz jest dodawany do słownika na początku pętli for, mimo że nie.add komenda jest używana i nie będzie używana do końca pętli.

Próbowałem kilku różnych konfiguracji, ale tutaj jest prosty przykład, który się nie udaje:

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

Gdzie każda komórka zawiera ciąg / unikalny identyfikator. W instrukcji If kod powraca fałsz, nawet przy pierwszej iteracji.

questionAnswers(2)

yourAnswerToTheQuestion