Проста функция Instr | Начална позиция | Нула | Instr и If | Нечувствително към регистъра търсене
Използвайте Instr в Excel VBA за намиране на позицията на подниза в низ. Функцията Instr е доста гъвкава.
Поставете команден бутон на работния си лист и добавете кодовите редове по -долу. За да изпълните кодовите редове, щракнете върху командния бутон на листа.
Проста функция Instr
По подразбиране функцията Instr започва търсене в началото на низ (позиция 1).
Код:
Затъмнено състояние като низ
state = "Вирджиния"
MsgBox InStr (състояние, "джин")
Резултат:
Забележка: низ "джин" е намерен на позиция 4.
Начална позиция
Втората функция Instr по -долу започва да търси на позиция 7.
Код:
Затъмнено състояние като низ
state = "Южна Каролина"
MsgBox InStr (състояние, "o")
MsgBox InStr (7, състояние, "o")
Резултат:
Обяснение: първата функция Instr намира низ "o" в позиция 2. Втората функция Instr започва търсене в позиция 7 и намира низ "o" в позиция 10.
Нула
Функцията Instr връща 0, ако низът не е намерен (важно, както ще видим по -нататък).
Код:
Затъмнено състояние като низ
state = "Флорида"
MsgBox InStr (състояние, "нас")
Резултат:
Заключение: низът „us“ не е намерен.
Instr и If
Нека създадем проста VBA програма, която използва Instr функция.
Код:
Затъмнено състояние като низ, подниза като низ
състояние = Обхват ("A2"). Стойност
подниза = Обхват ("B2"). Стойност
Ако InStr (състояние, подниза)> 0 Тогава
Диапазон ("C2"). Стойност = "Намерено"
Иначе
Диапазон ("C2"). Стойност = "Не е намерен"
Край Ако
Резултат, когато щракнете върху командния бутон на листа:
Обяснение: низ "outh" е намерен на позиция 2. Функцията Instr връща 2. В резултат на това Excel VBA поставя низа "Намерено" в клетка C2.
Нечувствително към регистъра търсене
По подразбиране функцията Instr извършва търсене с чувствителност към регистър. Въведете низ "dakota" в клетка В2 и щракнете върху командния бутон на листа.
Обяснение: низът "dakota" не е намерен (първата буква не е написана с главни букви). Функцията Instr връща 0. В резултат на това Excel VBA поставя низа „Not Found“ в клетка C2.
За да извършите нечувствително към регистър търсене, актуализирайте кода, както следва:
Състояние на затъмняване като низ, подниза като низ
състояние = Обхват ("A2"). Стойност
подниза = Обхват ("B2"). Стойност
Ако InStr (1, състояние, подниза, vbTextCompare)> 0 Тогава
Диапазон ("C2"). Стойност = "Намерено"
Иначе
Диапазон ("C2"). Стойност = "Не е намерен"
Край Ако
Резултат, когато щракнете върху командния бутон на листа:
Обяснение: Показаната по -горе функция Instr има 4 аргумента. За да извършите нечувствително към регистъра търсене, винаги посочвайте начална позиция (първи аргумент) и използвайте vbTextCompare (четвърти аргумент).