Патрик,
Немного вещей, которые адресованы в моем
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html статьи
1) Не похоже на собранию, вы не можете сослаться к деталям в словаре using индекс. Довольно, в словаре, вы можете только fetch одиночный деталь если вы поставляете свой ключа. Так, ваша петля:
Для I = 1 к dic. Отсчет
. Клетки (I, «c») = dic. Деталь (I)
Затем iий
не вытянет вне детали от словаря. Деиствительно, из-за словаря «подразумеваемого добавьте» поведение, та петля фактическ добавляет новые детали к словарю:)
2) Вы фактическ добавляли ряд как ключ, и не значение клетки, в вашей первой петле:
Для каждого celle в rng
Если не dic.exists (celle) после этого
dic. Добавьте celle, celle
Закончитесь если
Следующее celle
В виду того что каждой клеткой будет по-разному предмет, вы фактическ закончились вверх по добавлять всю из тех клеток как как деталь, так и как ключ
******************
Так, зафиксировать Кодего:
1) Точно передайте значения клеток, и не клетки сами, к словарю. Или, используйте переход блока для того чтобы создать блок в памяти, и после этого закрепляйте петлей через блок и передавайте значения блока к словарю
2) Сбросьте детали в блок
3) Сделайте переход блока для писания значений к рабочий лист
Патрик