Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Справочники

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 35674
Главная » Справочники » Функции VBA » Функции обработки строк

InStr

InStr

Функция InStr

InStr([Start,]String1,String2[,Compare])
InStrB([Start,]String1,String2[,Compare])

Функция InStr(In String) служит для поиска номера символа(номера байта для InStrB), с которого начинается в заданной строке образец поиска. Поиск идет от указанной позиции слева направо. Поиск вхождения одной строки в другую весьма часто используемая операция. Нумерация символов всегда начинается с единицы

Примечание

В функции InStr при очень длинных строках при текстовом методе сравнения, возможно возникновение ошибки времени исполнения Stack overflow. Избежать этой ошибки можно, переведя исходную строку и образец в один регистр и перейдя на бинарное сравнение

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

Возвращает значение типа Variant(Long), указывающее позицию первого появления одной строки внутри другой

Перечень возвращаемых значений
Вариант Значение, возвращаемое функцией InStr
String1 имеет нулевую длину 0
String1 имеет значение Null Null
String2 имеет нулевую длину Start
String2 имеет значение Null Null
String2 не найдена 0
String2 найдена внутри String1 Позиция, в которой обнаружено совпадение
Start > String2 0

Параметры
Элемент Описание
Start Необязательный. Числовое выражение, которое задает первую позицию для каждого поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start является обязательным, если задан параметр Compare
String1 Обязательный. Строковое выражение,в котором ведется поиск
String2 Обязательный. Отыскиваемое строковое выражение
Compare Необязательный. Задает тип сравнения для строк. Если значение параметра Compare равно Null, возникает ошибка. В том случае, когда параметр Compare опущен,тип сравнения определяется установками оператора Option Compare

Установки

Для параметра Compare используются следующие установки:

Константа Значение Описание
vbUseCompareOption -1 Сравнение выполняется с использованием установок для оператора Option Compare
vbBinaryCompare 0 Выполняется побитовое сравнение
vbTextCompare 1 Выполняется текстовое сравнение
vbDatabaseCompare 2 Только для Microsoft Access. Сравнение выполняется с применением сведений из базы данных пользователя

Пример
' В данном примере функция InStr
' возвращает позицию первого появления
' одной строки внутри другой строки
Dim SearchString, SearchChar, MyPos
SearchString ="Русский_Проект" ' Исходная строка
SearchChar = "Р"  ' Следует найти "P"

' Посимвольное сравнение, начиная с позиции 4. Возвращает 10
MyPos = Instr(4, SearchString, SearchChar, vbTextCompare) 

' Двоичное сравнение, начиная с позиции 1. Возвращает 1
MyPos = Instr(1, SearchString, SearchChar, 0)

' Сравнение является двоичным по умолчанию (последний аргумент опущен)
MyPos = Instr(SearchString, SearchChar)  ' Возвращает 1

MyPos = Instr(1, SearchString, "W")  ' Возвращает 0
Категория
Функции обработки строк

Счетчики: 44205 | Добавил: Serge_007
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!