Функція 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 і відображається діалогове вікно.