Функция Excel VBA Find
Кто не знает метод FIND в Excel? Я уверен, что все знают, кто имеет дело с рабочими листами Excel. НАЙТИ или популярную комбинацию клавиш Ctrl + F найдет слово или контент, который вы ищете во всей рабочей таблице, а также во всей рабочей книге. Когда вы говорите, что найти означает, что вы находите в ячейках или диапазонах не так ли? Да, правильный метод поиска является частью ячеек или диапазонов в Excel, а также в VBA.
Аналогично, в VBA Find у нас есть опция под названием FIND function, которая может помочь нам найти искомое значение. В этой статье я познакомлю вас с методологией FIND в VBA.
Формула для поиска функции в Excel VBA
В обычной рабочей таблице Excel мы просто нажимаем сочетание клавиш Ctrl + F, чтобы найти содержимое. Но в VBA нам нужно написать функцию, чтобы найти контент, который мы ищем. Хорошо, тогда давайте посмотрим на синтаксис FIND.
Я знаю, что происходит в вашем уме, вы потерялись, глядя на этот синтаксис, и вы ничего не понимаете. Но не о чем беспокоиться, прежде чем я объясню вам синтаксис, позвольте мне познакомить вас с обычным окном поиска.
Если вы наблюдаете за тем, что есть в обычных Ctrl + F, все также присутствует в синтаксисе VBA Find. Теперь посмотрим, о чем говорит каждое слово в синтаксисе.
Что: просто то, что вы ищете. Здесь нужно упомянуть контент, который мы ищем.
После: после какой ячейки вы хотите искать.
LookIn: где искать то, что вы ищете. Например, формулы, значения или комментарии. Параметры: xlFormulas, xlValues, xlComments.
LookAt: ищите ли вы весь контент или только часть контента. Параметры: xlWhole, xlPart.
SearchOrder: вы ищете в строках или столбцах. xlByRows или xlByColumns.
SearchDirection: вы смотрите на следующую или предыдущую ячейку. xlNext, xlPrevious.
MatchCase: содержимое, которое вы ищете, чувствительно к регистру или нет. Правда или ложь.
MatchByte: это только для двухбайтовых языков. Правда или ложь.
SearchFormat: вы ищете форматирование. Если вы ищете формат, вам нужно использовать метод Application.FindFormat .
Это объяснение синтаксиса метода VBA FIND. Помимо первого параметра все необязательно. В разделе примеров мы увидим, как использовать этот метод FIND в кодировании VBA.
Как использовать функцию поиска VBA Excel?
Мы научимся использовать функцию VBA Find Excel на нескольких примерах.
Вы можете скачать этот шаблон VBA Find Excel здесь - VBA найти шаблон ExcelФункция поиска VBA - пример № 1
Прежде всего позвольте мне объяснить вам простой пример использования свойства FIND и найти контент, который мы ищем. Предположим, ниже приведены данные, которые вы имеете в своем листе Excel.
Шаг 1: Из этого я хочу найти имя Джон, давайте откроем Visual Basic и начнем кодирование.
Код:
Sub Find_Ex1 () End Sub
Шаг 2: Здесь вы не можете начать слово FIND, потому что FIND является частью свойства RANGE. Итак, во-первых, нам нужно упомянуть, где мы смотрим, т.е. Range.
Шаг 3: Итак, сначала укажите диапазон, в котором мы ищем. В нашем примере наш диапазон от B2 до B11.
Код:
Sub Find_Ex1 () Range ("B2: B11") End Sub
Шаг 4: После упоминания диапазона поставьте точку (.) И введите FIND. Вы должны увидеть свойство НАЙТИ.
Шаг 5: Выберите свойство НАЙТИ и откройте скобку.
Шаг 6: Наш первый аргумент - это то, что мы ищем. Чтобы выделить аргумент, мы можем передать аргумент наподобие What: =, это будет полезно для определения того, на какой параметр мы ссылаемся.
Код:
Sub Find_Ex1 () Range ("B2: B11"). Find (What: = "John") End Sub
Шаг 7: Последняя часть после нахождения слова, что мы хотим сделать. Нам нужно выбрать слово, поэтому передайте аргумент как. Выберите
Код:
Sub Find_Ex1 () Range ("B2: B11"). Find (What: = "John"). Выберите End Sub
Шаг 8: Затем запустите этот код, используя клавишу F5 или вручную, как показано на рисунке, чтобы он выбрал первое найденное слово Джонсон, которое содержит слово Джон.
Функция поиска VBA - пример № 2
Теперь я покажу вам, как найти слово комментария, используя метод find. У меня есть данные, и в трех ячейках у меня есть комментарий.
В ячейках с красным флажком есть комментарии. Из этого комментария я хочу найти слово «Без комиссии».
Шаг 1: начните код с упоминания диапазона («D2: D11») и поставьте точку (.) И введите Find
Код:
Sub Find_Ex2 () Диапазон ("D2: D11"). Найти (End Sub
Шаг 2: В аргументе WHAT введите слово «Без комиссии».
Код:
Sub Find_Ex2 () Range ("D2: D11"). Find (Что: = "Без комиссии", End Sub
Шаг 3: Пропустите часть After и выберите часть LookIn. В части LookIn мы ищем это слово в комментариях, поэтому выберите xlComments, а затем передайте аргумент как .Select
Код:
Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "Без комиссии", LookIn: = xlComments). Выберите End Sub
Шаг 4: Теперь запустите этот код, используя клавишу F5 или вручную, как показано на рисунке, чтобы он выбрал ячейку с комментарием «Без комиссии». В ячейке D9 есть упомянутый комментарий.
Справиться со значениями ошибок в Excel VBA Find
Если искомое слово не будет найдено в диапазоне, мы предоставили код VBA, который будет возвращать ошибку, подобную этой.
Чтобы показать пользователю, что искомое значение недоступно, нам понадобится приведенный ниже код.
Если вышеуказанный код обнаружил значение, тогда он показывает значение и адрес ячейки, иначе будет отображаться сообщение « Значение, которое вы ищете, недоступно в указанном диапазоне !!!».
То, что нужно запомнить
- VBA FIND является частью свойства RANGE, и вам нужно использовать FIND только после выбора диапазона.
- В FIND первый параметр является обязательным (What), кроме этого все остальное является необязательным.
- Если вам нужно найти значение после определенной ячейки, вы можете упомянуть ячейку в параметре After синтаксиса Find.
Рекомендуемые статьи
Это было руководство к функции поиска VBA. Здесь мы обсудили VBA Find и как использовать функцию Excel VBA Find вместе с некоторыми практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- НАЙТИ функцию в Excel
- Функция VBA в Excel
- Руководство по диапазону в Excel
- Как использовать функцию VBA VLOOKUP?