Patrick,
Några saker, som tilltalas i min artikel
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html1) I motsats till en samling du kan inte se till objekt i en ordbok using ett index. Ganska i en ordbok, du kan endast hämta ett singelobjekt, om du levererar dess nyckel-. Så ditt kretsa:
För I = 1 till dic. Räkning
. Celler (I, ”C”) = dic. Objekt (I)
Därefter i
ska inte för handtag objekt ut från ordboken. Sannerligen på grund av den implicit ordboken ”tillfoga” uppförande, det kretsar tillfogar faktiskt nya objekt till ordboken:),
2) Du tillfogade faktiskt spänna som det nyckel-, och inte värdera av cellen, i ditt första kretsar:
För varje celle i rng
Om inte dic.exists (celle) därefter
dic. Tillfoga celle, celle
Avsluta om
Nästa celle
Stämma, sedan varje cell är ett olikt anmärker, du avslutade faktiskt upp att tillfoga alla de celler som både objekt och
******************,
Så att fixa kodifiera:
1) Passera tydligt värderar av cellerna och inte cellerna sig själv, till ordboken. Eller använd en samlingöverföring för att skapa en samling i minne, och därefter kretsa till och med samlingen och passera samling värderar till ordboken
2) Dumpa objekten in i en samling
3) Gör en samlingöverföring för att skriva värderar till arbetssedeln
Patrick