Objeto de diccionario que agrega elementos antes de llamar a .add ()
Estoy usando un objeto de diccionario de laBiblioteca de MS Scripting Runtime para almacenar una serie de matrices y realizar operaciones en las celdas de la matriz según sea necesario. Hay un bucle for para pasar por el proceso de crear todas estas entradas. Mi problema es que al usar el.exists
propiedad, esta volviendoTrue
incluso antes de que el artículo ha sido añadido.
Una depuración más cercana indica que la clave se está agregando al diccionario al comienzo del bucle for, aunque no.add
Se usa el comando y no se usará hasta el final del bucle.
He intentado algunas configuraciones diferentes, pero aquí hay un ejemplo simple que falla:
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
Donde cada celda contiene una cadena / id único. En la instrucción If, el código devuelve falso, incluso en la primera iteración.