Функція VBA INSTR повертає ціле число, що відповідає першій знайденій позиції значення в рядку символів (або значення 0, якщо відповідності не знайдено).
InStr(початкова_позиція, текст, шукане_значення)
Або
InStr(початкова_позиція, текст, шукане_значення, регістр)
Використання функції InStr для визначення позиції слова "excel" (починаючи пошук із символу 1 назви сайту):
Sub InStrExample1() sitename = "www.moonexcel.com.ua" 'Позиція слова "excel" у sitename position = InStr(1, sitename, "excel") MsgBox position 'Повертає: 9 End Sub
Використання функції InStr для визначення позиції слова "EXCEL" (цього разу з додаванням значення "1" до 4-го аргументу, щоб ігнорувати регістр):
Sub InStrExample2() sitename = "www.moonexcel.com.ua" 'Позиція слова "EXCEL" у sitename (без урахування регістру) position = InStr(1, sitename, "EXCEL", 1) MsgBox position 'Returns: 9 End Sub
Функція InStr також може бути використана, щоб визначити, чи містить назва сайту шуканий рядок:
Sub InStrExample3() sitename = "www.moonexcel.com.ua" If InStr(1, sitename, "excel") > 0 Then MsgBox "Так!" End If End Sub
У цьому прикладі, якщо позицію знайдено, функція повертає число більше за 0 і відображається діалогове вікно.