MS Excel та VBA швидке порівняння двох списків

Привіт! Представляю твоїй увазі нескладний макрос, який швидко порівняє два списки Microsoft Excel. Цей макрос дуже актуальний і до сьогодні. По-перше, у старих версіях MS Office немає вбудованого порівняння списків. По-друге, в нових версіях хоч і є вбудована функція порівняння списків, але працює вона дуже повільно з великими масивами даних! Тому взяти на озброєння такий макрос необхідно обов'язково.

швидке

Книгу необхідно розділити на три аркуші:

  • Список 1. Сюди вміщується перший.
  • Список 2. Сюди міститься другий список.
  • Результат. Тут відобразиться результат порівняння. На ньому лише одна кнопка для зручності запуску макросу рядовим користувачем.

Важливо! Поля з унікальними значеннями повинні знаходитися встовпці A і мати однаковий формат. Унікальними значеннями можуть бути порядкові номери, ідентифікатори, ІПН, СНІЛЗ, реєстраційні номери та інші.

порівняння

Кнопка для швидкого запуску макросу:

excel

списків

На кнопку потрібно повести обробник події натискання та вставити наступний код:

Готово! Запускати макрос можна через кнопку з третього аркуша, або гарячою клавішеюF5. Процес обробки займає деякий час. Тут потрібно почекати повідомлення про успішне закінчення процесу. У моєму випадку 5 тис. елементів у кожному списку порівнювали за кілька секунд на середньому офісному комп'ютері.

Повідомлення про закінчення процесу порівняння:

швидке

Остаточний результат представлений нижче. Аркуш розділений на три частини:

  • Елементи, якіє тільки в першому списку, але немає в другому
  • Елементи якіє тільки у другому, але немає в першому
  • Є в обох списках (і в першому, і в другому)

списків

Сподіваюся цей макрос допоможе заощадити тобі купу часу і позбавить рутинної праці!