Повертає значення типу Variant (Long), яке задає положення першого входження одного рядка всередині іншого.

Див. приклади

Синтаксис

InStr ([start, ] string1, string2 [, compare ] )

Синтаксис функції InStr має такі аргументи:

Аргумент

Опис

start

Необов’язковий аргумент. Числовий вираз, який задає початкове положення для кожного пошуку. Якщо його не задано, пошук починається з першого символу. Якщо аргумент start містить Null-значення, стається помилка. Аргумент start є обов’язковим, якщо задано аргумент compare.

string1

Обов’язковий аргумент. Рядковий вираз, який потрібно знайти.

string2

Обов’язковий аргумент. Шуканий рядковий вираз.

compare

Необов’язковий аргумент. Визначає тип порівняння рядків. Якщо аргумент compare має Null-значення, стається помилка. Якщо аргумент compare не задано, параметр OptionCompare визначає тип порівняння. Укажіть дійсний код мови (LocaleID), щоб використовувати спеціальні мовні правила для порівняння.

Порада.: У побудовнику виразів є функція IntelliSense, яка дає змогу побачити, які аргументи потрібні для виразу.

Параметри

Параметри аргументу compare:

Константа

Значення

Опис

vbUseCompareOption

–1

Виконує порівняння за допомогою параметра оператора Option Compare.

vbBinaryCompare

0

Виконує двійкове порівняння.

vbTextCompare

1

Виконує текстове порівняння.

Значення, що повертаються

Умова

Значення, яке повертає функція InStr

string1 має нульову довжину

0

string1 має Null-значення

Null-значення

string2 має нульову довжину

start

string2 має Null-значення

Null-значення

string2 не знайдено

0

string2 знайдено в string1

Положення, у якому знайдено збіг

start > string2

0

Примітки

Функція InStrB використовується з даними типу "байт", що містяться в рядку. Функція InStrB повертає не положення символу першого входження одного рядка в іншому, а положення даних типу "байт".

Приклади

Використання функції InStr у виразі    Функцію InStr можна використовувати будь-де, де можна використовувати вирази. Наприклад, якщо потрібно знайти положення першої крапки (.) у полі, яке містить IP-адреси (під назвою IPAddress), можна скористатися функцією InStr, як-от:

InStr(1,[IPAddress],".")

Функція InStr аналізує кожне значення в полі IPAddress і повертає положення першої крапки. Отже, якщо перша частина IP-адреси – 10., функція поверне значення 3.

Після цього можна скористатись іншими функціями, які працюють на основі виводу функції InStr, щоб видобути частину IP-адреси, яка передує першій крапці, як-от:

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

У цьому прикладі функція InStr(1,[IPAddress],".") повертає положення першої крапки. Віднімання 1 визначає кількість символів перед першою крапкою (у цьому випадку – 2). Після цього функція Left видобуває стільки символів із лівої частини поля IPAddress і повертає значення 10.

Використання функції InStr у коді VBA    

Примітка.: У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA).

У цьому прикладі функцію InStr використано, щоб повернути положення першого входження одного рядка в іншому.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Додаткові відомості

Рядкові функції та їх використання

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.