Excel VBA для порівняння значень у діапазоні (3 приклади)

  • Поділитися Цим
Hugh West

Під час роботи з Microsoft Excel Іноді нам потрібно знайти відповідне значення в діапазоні. Ми можемо легко зробити це за допомогою функцій Excel. У VBA є функції, які ми можемо використовувати, але жодна з них не дорівнює МАТЧ У цій статті ми дізнаємося, як зіставити значення в діапазоні з Excel VBA .

Завантажити Практичний посібник

Ви можете завантажити робочий зошит та потренуватися за ним.

VBA Значення збігу в Range.xlsm

Знайомство з функцією зіставлення в Excel VBA

На сьогоднішній день, на жаль, це не так. Функція зіставлення в Excel VBA є корисна побудована функція пошуку, яка, як і ПЕРЕГЛЯД , ОГЛЯД , а також "Про захист прав людини і основоположних свобод ІНДЕКС повертає місце розташування ідентичних або порівнянних збігів шуканих значень, отриманих в масивах або базі даних. Ця функція є функцією робочого аркуша, яку використовує програма. Оскільки це функція робочого аркуша, параметри функції "Відповідність" аналогічні параметрам функції "Робочий аркуш".

3 Приклади Excel VBA для порівняння значень у діапазоні

1. Зіставлення значень у діапазоні за допомогою функції зіставлення VBA в Excel

Використовувати функція "Відповідність" Excel VBA для знаходження значення збігу в діапазоні, ми будемо використовувати наступний набір даних. У цьому наборі даних є прізвища студентів у стовпчику C їхні оцінки з конкретного питання у колонці D та порядковий номер кожного студента у колонці B Тепер припустимо, що ми хочемо знайти позицію збігу в комірці G5 певного знаку, а знак, якому ми хочемо відповідати, знаходиться в комірці F5 .

Продемонструємо процедуру пошуку співпадаючих значень в діапазоні з допомогою функції excel VBA Match .

КРОКИ:

  • По-перше, зайдіть на сайт Розробник вкладку зі стрічки.
  • По-друге, натисніть на Visual Basic для відкриття Редактор Visual Basic де пишемо код. Або натискаємо Alt + 11 для відкриття Редактор Visual Basic .

  • Ще один спосіб відкрити Редактор Visual Basic тільки для того, щоб клацніть правою кнопкою миші на робочому аркуші та натисніть на кнопку Переглянути код .

  • Це дозволить відкрити Редактор Visual Basic Тепер пишіть туди код.

Код VBA:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • Після цього для запуску коду необхідно натиснути кнопку F5 на клавіатурі або натисніть на кнопку Rub Sub кнопку.

  • Нарешті, можна побачити, що збіг знайдено в позиції 5 .

🔎 Як працює код VBA?

  • Sub example1_match() : Це означає, що ми визначаємо підпроцедуру, задаючи ім'я макросу.
  • Range("G5").Value : Ми хочемо, щоб результат зберігався в комірці G5 .
  • Функція робочого аркуша : За допомогою цього коду ми зможемо отримати доступ до функцій VBA.
  • Match(Range("F5").Value, Range("D5:D10"), 0) : Тут ми використовуємо Функція зіставлення Оскільки ми хочемо взяти значення з комірки F5 та дізнатися позицію в зоні досяжності D5:D10 .
  • End Sub : Це означає, що ми завершуємо процедуру.

Читати далі: Excel VBA для зіставлення рядків у стовпці (5 прикладів)

2. використання Excel VBA для зіставлення значень з іншого аркуша

Ми можемо знайти відповідні значення в діапазоні з іншого аркуша, використовуючи функція VBA Match в Excel Припустимо, що у нас є набір даних на аркуші з ім'ям " Дані " і хочемо отримати результат в назві аркуша " Результат "І ми використовуємо той самий набір даних. Тепер давайте виконаємо кроки, щоб це зробити.

КРОКИ:

  • На початку, за аналогією з попереднім прикладом, перейдіть на сторінку Розробник вкладка на стрічці.
  • Потім натисніть на кнопку Visual Basic або натисніть Alt + F11 для відкриття Редактор Visual Basic .
  • Замість цього, щоб відкрити Редактор Visual Basic просто клацніть правою кнопкою миші на аркуші і виберіть Переглянути код .

  • Тепер запишіть код VBA.

Код VBA:

 Sub example2_match() Sheets("Результат").Range("C5").Value = WorksheetFunction.Match(Sheets("Результат").Range("C5").Value, Sheets("Дані").Range("D5:D10"), 0) End Sub 
  • Далі запустіть код, натиснувши на кнопку F5 або натиснувши на клавішу Запустити заміну кнопку.

  • І, як результат, можна ознайомитися в " Результат "аркуш.

Читати далі: Як зіставити дані в Excel з 2 аркушів

Схожі читання

  • Підсумувати всі збіги з VLOOKUP в Excel (3 простих способи)
  • Як знайти відповідність з урахуванням регістру в Excel (6 формул)
  • Як зіставити імена в Excel, які відрізняються за написанням (8 способів)

3. цикли Excel VBA для отримання відповідного значення в діапазоні

Припустимо, ми хочемо, щоб кілька міток відповідали значенню, для цього ми будемо використовувати цикли VBA. Ми використовуємо той же набір даних, що і раніше. Тепер, ми хочемо, щоб позиція збігу в стовпці G , а позначки, яким ми хочемо знайти відповідність, знаходяться в стовпчику F Давайте подивимося, що далі.

КРОКИ:

  • По-перше, зі стрічки перейдіть на сторінку Розробник рахунок.
  • По-друге, відкрити Редактор Visual Basic натисніть на Visual Basic або натисніть Alt + F11 .
  • Або просто натисніть правою кнопкою миші на аркуші і виберіть Переглянути код .

  • Це дозволить відкрити Редактор Visual Basic .
  • Тепер введіть туди код.

Код VBA:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • Після цього, натиснувши кнопку F5 або натиснувши на клавішу Запустити заміну запустить код на виконання.

  • А результат ви зможете побачити в колонці G .

🔎 Як працює код VBA?

  • Для i = 5 - 8 : Це означає, що ми хочемо, щоб цикл виконувався, починаючи з рядка 5 і закінчуючи рядком 8 .
  • Cells(i, 7).Value : Це дозволяє зберегти значення отриманих позицій в кожному рядку з 5 до 8 рядків у стовпчику G який є номером стовпчика 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Клітини можна зіставити за допомогою Матч функція (i, 6). Пошук значень для кожного значення Lookup, знайденого в рядках 5 через 8 про 6-й Потім виконується пошук в масиві D5:D10 на аркуші Excel, де є дані.

Читати далі: Excel Пошук збігів значень у двох стовпцях

На що слід звернути увагу

  • Якщо тип збігу відсутній або не вказаний, то вважається, що це 1 .
  • Якщо збігів не виявлено, відповідне поле Excel буде порожнім.
  • Значення пошуку може бути числовим, символьним або логічним даними, або посиланням на кількість, текст або логічне значення комірки.

Висновок

Вищезазначені методи допоможуть вам зіставити значення в діапазоні в Excel VBA. Сподіваюся, це вам допоможе! Якщо у вас виникли запитання, пропозиції чи відгуки, будь ласка, повідомте нам про це в розділі коментарів. Або ви можете переглянути інші наші статті в розділі ExcelWIKI.com блог!

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.