Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 9

Макрос по поиску дубликатов в книгах

26.07.2012, 21:36. Показов 2553. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть макрос, который ищет одинаковые ячейки (сравнивает две книги "Книга1" и "Книга2").

Вот тело макроса

----------------------

Sub Main()

Dim i As Long, x As New Collection
Application.ScreenUpdating = False
Workbooks("Книга1.xls").Sheets(1).Activa te
On Error Resume Next
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
x.Add Cells(i, "A"), CStr(Cells(i, "A"))
Next
On Error GoTo 0

With Workbooks("Книга2.xls").Sheets(1)
Columns("A").Interior.ColorIndex = xlNone
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
On Error Resume Next
x.Add .Cells(i, "A"), CStr(.Cells(i, "A"))
If Err <> 0 Then .Cells(i, "A").Interior.ColorIndex = 6
On Error GoTo 0
Next
End With
Set x = Nothing

End Sub


---------------------------------

Подскажите, пожалуйста, как сделать, чтобы поиск шел не только по "Книге2", а и по "Книга3", "Книга4"..."Книга18".

Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2012, 21:36
Ответы с готовыми решениями:

Задача по поиску дубликатов в столбцах
Есть три столбца &quot;Агенты&quot;, &quot;Потребители&quot;, Проекты&quot; Цель: Необходимо проследить количество повторов в столбцах, которое не буде превышать...

Пишем приложение по поиску дубликатов-файлов
Необходимо реализовать проход по дереву заданного каталога с вычисление хеш-функций и определением файлов-дубликатов! идеи?

Поиск дубликатов в нескольких книгах
Суть проблемы. Есть порядка 100 книг Excel (и это число постоянно растет). В каждой книге заполняются столбцы A и B по принципу &quot;дата...

8
1302 / 404 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
27.07.2012, 12:04
кщіщьфрф, нужно уточнить, с какими книгами работать. Чтобы коду указать, с какими книгами работать, есть следующие варианты:
  1. пользователь выбирает обрабатываемые книги с помощью диалогового окна, например, диалогового окна Открытие документа;
  2. если всегда нужно обрабатывать одни и те же книги, то можно создать список с именами, а затем вызывать этот список в коде и обрабатывать книги, указанные в этом списке;
  3. можно обрабатывать именно открытые книги.
Выберите, какой вариант вам нужен, или несколько вариантов выберите.
1
0 / 0 / 0
Регистрация: 26.07.2012
Сообщений: 9
27.07.2012, 12:45  [ТС]
А не могли бы Вы мне помочь в этом (я просто не бум-бум в коде). У меня получается одна общая книга и и 17 книг с которых будет проводится проверка.

Могу сбросить в личку если нужно.

спасибо.
0
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,431
Записей в блоге: 1
01.08.2012, 12:06
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub Main()
    Dim i As Long, x As New Collection, wb_Cel As Workbook, wb_Tek As Workbook
    Application.ScreenUpdating = False
    Workbooks("Книга1.xls").Sheets(1).Activate
    On Error Resume Next
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        x.Add Cells(i, "A"), CStr(Cells(i, "A"))
    Next
    On Error GoTo 0
    For Each wb_Tek In Workbooks
        If wb_Tek.Name <> "Книга1.xls" Then
            If Left(wb_Tek.Name, 5) = "Книга" Then
                Set wb_Cel = wb_Tek
                Exit For
            End If
        End If
    Next
    With wb_Cel.Sheets(1)
        .Columns("A").Interior.ColorIndex = xlNone
        For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
            On Error Resume Next
            x.Add .Cells(i, "A"), CStr(.Cells(i, "A"))
            If Err <> 0 Then .Cells(i, "A").Interior.ColorIndex = 6
            On Error GoTo 0
        Next
    End With
    Set x = Nothing
End Sub
1
1302 / 404 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
01.08.2012, 12:09
KoGG, в 6 строке кода каждый раз происходит определение последней заполненной ячейки. Разве это правильно?
0
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,431
Записей в блоге: 1
01.08.2012, 14:08
А разве нет?
0
1302 / 404 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
01.08.2012, 14:19
KoGG, правильно один раз узнать последнюю заполненную ячейку и потом использовать это число, а не вызывать методы и свойства при каждом витке цикла.
0
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,431
Записей в блоге: 1
01.08.2012, 15:21
Если имеется ввиду 6 строка:
Visual Basic
1
   For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
То - привожу цитату из справки по оператору VBA "For.. To .. Next" к Офису 2007:
After all statements in the loop have executed, step is added to counter. At this point, either the statements in the loop execute again (based on the same test that caused the loop to execute initially), or the loop is exited and execution continues with the statement following the Next statement.
То есть, обращаю внимание на жирный текст, верхняя граница цикла проверяется с тем значением, которое было на момент инициации цикла.
Вот пример:
Visual Basic
1
2
3
4
5
6
7
Sub BB()
 k = 5
 For i = 1 To k
    k = 3
    Debug.Print i
 Next
End Sub
2
1302 / 404 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
01.08.2012, 15:38
KoGG, да, проверил сейчас практически: создал свой класс и добавил вызов его метода в первую строку цикла - только один раз был вызван метод класса.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2012, 15:38
Помогаю со студенческими работами здесь

Макрос по поиску картинок из интернет
Помогите, пожалуйста, написать макрос, который бы искал нужную картинку на определенном сайте и вставлял в ячейку рядом URL картинки к...

VBA макрос по поиску и записи значений
Помогите написать макрос: В рабочей книге &quot;Шаблончик&quot; в столбце А есть значения (пример: 21806544252) их около 15 штук и все они разбросаны...

Макрос по поиску листов в книге Exсel
Может кто сталкивался с макросом для поиска листов в книге? а то тут пришел файл и около 200 листов, теперь блуждаю по несколько секунд в...

Макрос по поиску чисел в Worde и выводу их количества
Необходим макрос по поиску чисел в word файле! макрос создается через vb в worde 2007! нашел пример с пробелами, но не смог его...

Макрос по поиску и переносу значений между файлами excel
Всем привет! Дали задание по работе с большим массивом данных..Гугление особого ничего не дало.. Прошу помочь.. Есть два Excel-файла:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru