Метод WorksheetFunction.SearchB (Excel)

Функции поиска и поискаB находят вхождение одной текстовой строки в другую и возвращают начальную позицию искомой строки относительно первого знака второй строки.

Синтаксис

выражение. ПоискБ (Arg1, Arg2, Arg3)

выражение Переменная, представляющая объект WorksheetFunction .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Арг1 Обязательный String Find_text — текст, который требуется найти.
Арг2 Обязательный String Within_text — текст, в котором вы хотите найти find_text.
Арг3 Необязательный Variant Start_num - номер символа в within_text, с которого вы хотите начать поиск.

Возвращаемое значение

Double

Примечания

Средство поиска предназначено для языков с однобайтовой кодировкой, тогда как SearchB — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.

  • Поиск всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.

  • SearchB считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, и этот язык назначается языком по умолчанию. В противном случае SearchB считает каждый символ за один.

  • К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

С помощью функций Search и SearchB можно определить расположение знака или текстовой строки в другой текстовой строке, чтобы можно было использовать функции Mid и MidB или Replace и ReplaceB для изменения текста.

Функции Search и SearchB не чувствительны к регистру. Если вы хотите выполнять поиск с учетом регистра, можно использовать команды Найти и НайтиБ.

Используйте в find_text подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому отдельно взятому символу; звездочка — любой последовательности символов. Если требуется найти сам вопросительный знак или звездочку, перед ними следует ввести знак тильды (~).

Если find_text не найдено, #VALUE! возвращается значение ошибки.

Если start_num опущено, оно считается равным 1.

Если start_num не больше 0 (нуля) или длины within_text, #VALUE! возвращается значение ошибки.

Используйте start_num, чтобы пропустить указанное количество знаков. Предположим, например, что вы работаете с текстовой строкой AYF0093.YoungMensApparelв поле поиска. Чтобы найти номер первого "Y" в описательной части текстовой строки, установите start_num равным 8, чтобы поиск в той части текста, которая является серийным номером, не производился. Поиск начинается со знака 8, находит find_text в следующем знаке и возвращает число 9.

Функция поиска всегда возвращает номер знака, считая от начала within_text, считая символы, которые вы пропускаете, если start_num больше 1.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.