Оглавление
Во время работы с Microsoft Excel Иногда нам нужно найти совпадающее значение в диапазоне. Мы можем легко сделать это с помощью функций excel. В VBA есть функции, которые мы можем использовать, но ни одна из них не равна МАТЧ В этой статье мы узнаем, как сопоставить значение в диапазоне с помощью функции Excel VBA .
Скачать Практическое пособие
Вы можете скачать рабочую тетрадь и заниматься с ними.
VBA Сопоставление значений в диапазоне.xlsmВведение в Excel VBA Функция сопоставления
Сайт Функция соответствия в Excel VBA - это полезная построенная функция поиска, которая, как и VLOOKUP , HLOOKUP , и ИНДЕКС функции, возвращает местоположение идентичного или сравнимого совпадения значений поиска, полученных в массивах или базе данных. Эта функция является функцией рабочего листа, которую использует программа. Поскольку это функция рабочего листа, параметры для функции Match аналогичны параметрам для функции рабочего листа.
3 примера использования Excel VBA для сопоставления значений в диапазоне
1. сопоставление значений в диапазоне с помощью функции сопоставления VBA в Excel
Для использования функция Excel VBA Match Для поиска совпадающего значения в диапазоне мы будем использовать следующий набор данных. Набор данных содержит имена студентов в столбце C , свои оценки по определенному предмету в столбик D , и порядковый номер каждого студента в столбце B Теперь, предположим, мы хотим найти позицию совпадения в ячейке G5 конкретной метки, а метка, которую мы хотим сопоставить, находится в ячейке F5 .
Давайте продемонстрируем процедуру поиска совпадающих значений в диапазоне с помощью функции Match в excel VBA .
ШАГИ:
- Во-первых, перейдите к Разработчик на вкладке ленты.
- Во-вторых, нажмите на 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()
: Это означает, что мы определяем подпроцедуру, давая макросу имя.Диапазон("G5").Значение
: Мы хотим, чтобы вывод хранился в ячейке G5 .WorksheetFunction
: Используя этот код, мы сможем получить доступ к функциям VBA.
Match(Range("F5").Value, Range("D5:D10"), 0)
: Здесь мы используем функция Match в VBA. Поскольку мы хотим взять значение из ячейки 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("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub
- Затем запустите код, нажав клавишу F5 или нажав на клавишу Run Sub кнопка.
- И, результат можно найти в " Результат " лист.
Читать далее: Как сопоставить данные в Excel из двух рабочих листов
Похожие чтения
- Сумма всех совпадений с помощью 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 или нажав на клавишу Run Sub запустит код.
- И вы сможете увидеть результат в столбце G .
🔎 Как работает код VBA?
For i = 5 To 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 блог!