|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.01.2012, 15:02 | #1 |
Новичок
Джуниор
Регистрация: 16.01.2012
Сообщений: 1
|
Поиск дублирующих записей
Мне надо сравнить три столбца отдельно по каждому на предмет повтора.
Дублирующиеся красятся и еще с 20 по 22 столбцы должны проставлятся 1-цы. Но у меня срабатывает только первый цикл, т.е. поиск по 1-му стоблцу и выходит ошибка 1004 на строке отмечанный желтым. Почему эта ошибка выходит? Заранее прошу прощения, очень очень новичок. Скачал макрос, попробовал переделать. более 300 тыс строк(( структура такая: Порядковый номер, Фамилия, Имя, Отчество. Sub Macro1() For a = 1 To 302057 If Cells(a, 2).Value <> "" And Cells(a, 3).Value <> 1 Then For b = 1 To 302057 If b <> a Then If Cells(a, 2).Value = Cells(b, 2).Value Then Cells(a, 2).Interior.ColorIndex = 4 Cells(b, 2).Interior.ColorIndex = 3 Cells(b, 20).Value = 1 End If End If Next End If Next For c = 1 To 302057 If Cells(c, 3).Value <> "" And Cells(c, 4).Value <> 1 Then For d = 1 To 302057 If d <> c Then If Cells(c, 3).Value = Cells(d, 3).Value Then Cells(c, 3).Interior.ColorIndex = 4 Cells(d, 3).Interior.ColorIndex = 3 Cells(d, 21).Value = 1 End If End If Next End If Next For f = 1 To 302057 If Cells(f, 4).Value <> "" And Cells(f, 5).Value <> 1 Then For e = 1 To 302057 If f <> e Then If Cells(f, 4).Value = Cells(e, 4).Value Then Cells(f, 4).Interior.ColorIndex = 4 Cells(e, 4).Interior.ColorIndex = 3 Cells(e, 22).Value = 1 End If End If Next End If Next End Sub Последний раз редактировалось Bulkyn; 16.01.2012 в 15:05. |
16.01.2012, 18:20 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
А что конкретно пишет в той ошибке? Может, там с этими ячейками что-то особенное происходит, чего нет в других?
Если просто вставить этот код и запустить, то у меня он отрабатывает нормально, но это на пустом листе. |
16.01.2012, 18:54 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Надо макрос "с нуля" переписывать
При таких объёмах данных перебирать ячейки - макрос будет работать ОЧЕНЬ долго... Нужен пример файла (не 300 тыс строк, а поменьше - 300 или 3000 строк достаточно), и подробное описание, что должен делать макрос. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выборка дублирующих строк | kity | Microsoft Office Access | 3 | 27.05.2011 11:31 |
Поиск в массиве записей | Marfeys | Помощь студентам | 4 | 24.11.2010 05:14 |
Поиск записей | skiffter | Помощь студентам | 2 | 10.11.2009 17:54 |
Поиск нескольких записей | VenMaster | БД в Delphi | 1 | 14.06.2008 22:48 |
Поиск записей в ListBox | Askat | БД в Delphi | 1 | 18.06.2007 10:05 |