Patrick,
Alcune cose, che sono indirizzate nel mio
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html dell'articolo
1) Diverso di una collezione, non potete riferirti agli articoli in un dizionario using un indice. Piuttosto, in un dizionario, potete andare a prendere soltanto un singolo articolo se fornite la relativa chiave. Così, il vostro ciclo:
Per i = 1 a dic. Conteggio
. Cellule (i, “C„) = dic. Articolo (i)
Dopo i
non estrarrà gli articoli dal dizionario. Effettivamente, a causa del dizionario “implicito aggiungere„ il comportamento, quel ciclo realmente sta aggiungendo i nuovi articoli al dizionario:)
2) Realmente stavate aggiungendo la gamma come la chiave e non il valore della cellula, nel vostro primo ciclo:
Per ogni celle nel rng
Se non dic.exists (celle) allora
dic. Aggiungere il celle, celle
Concluder se
Celle seguente
Poiché ogni cellula è un oggetto differente, realmente vi siete concluso sull'aggiunta delle tutte quelle cellule come sia l'articolo che chiave
******************
Così, riparare il codice:
1) Passare esplicitamente i valori delle cellule e non le cellule essi stessi, al dizionario. O, usare un trasferimento di allineamento per generare un allineamento nella memoria ed allora collegare con l'allineamento e passare i valori di allineamento al dizionario
2) Fare uscire gli articoli in un allineamento
3) Fare un trasferimento di allineamento per scrivere i valori al manuale
Patrick