Вмъкване в Excel VBA - Лесни Excel макроси

Съдържание

Проста функция 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 (четвърти аргумент).

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave