Se eseguo la seguente macro sulla mia workstation, funziona:
Set compListDict = CreateObject("Scripting.Dictionary")
compListDict.Add 1, "Test"
Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll
Set compListDict = Nothing
Set compListDict = CreateObject("Scripting.Dictionary")
Dim test1 As Integer
test1 = compListDict.Count
Dopo l'esecuzione di esso, test1 uguale a 0, e la prova è uguale a 1.
Assicurarsi di avere abilitato Option Explicit, e che non hai errori di battitura nei nomi delle variabili.
Inoltre, assicurarsi di non avere un'istruzione "On Error Resume Next", in quanto nasconderà gli errori nel codice. Prova ad inserire "On Error Goto 0" prima del tuo snippet di codice, in modo che Excel visualizzi qualsiasi messaggio di errore.
Dato che si imposta il valore della variabile su Nothing e assegnandolo a un nuovo oggetto Dictionary, è impossibile che mantenga i valori memorizzati in precedenza.
Ho anche provato a fare funzionare il seguente codice, e dà anche gli stessi risultati:
Set compListDict = CreateObject("Scripting.Dictionary")
compListDict.Add 1, "Test"
Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll
Dim test1 As Integer
test1 = compListDict.Count
Speranza che aiuta ...
fonte
2012-03-23 09:34:13
Hmmm che è interessante. Puoi riprodurlo o è una cosa casuale? –
@SiddharthRout Vedi la mia modifica. – assylias
Grazie lo esamineremo oggi :) E se riesco a riprodurlo, allora scriverò questo bug con MS oggi :) –