VBA InStr функция

Във VBA имаме функция, наречена InStr функция, която се използва за връщане на позицията на първото възникване на подреда в низ. Което означава например, че имаме име, наречено „Jhon“ и трябва да намерим появата на позицията на H азбука в низ. За това се използва функцията.

Формула за InStr функция в Excel VBA

Excel VBA InStr функция има следния синтаксис:

В синтаксиса Старт и сравнение са незадължителни, докато се изискват стойности за низ и низ. Низът е низ, в който искаме да намерим нашата подстрока, а подструната е стойността, която е необходима, за да бъде намерена в низа. Да предположим, че ако трябваше да използваме горния синтаксис в нашия пример за Jhon над кода VBA, ще бъде както по-долу,

Instr ("Jhon", "H") и резултатът ще бъде 2, тъй като позицията на азбука H е 2 в низ.

Сега се придвижваме към незадължителните части на синтаксиса, които са, започнете и сравнете. Стартът е позицията на низа, от която искаме да започнем търсенето, докато сравнението е от три типа,

  1. VbUseCompareOption: (-1) Използва се за сравнение на опции.
  2. VbBinaryCompare: (0) Използва се за двойно сравнение.
  3. VbTextCompare: (1) Използва се за текстовото сравнение.

Но имаме нужда от променлива, за да съхраним стойността на резултата. Тъй като стойността е цяло число, определената променлива също трябва да бъде цяло число. Сега, ако сме изчислили стойността, ние също трябва да покажем резултата, използваме функция msgbox за показване на резултата.

Как да използвате Excel VBA InStr функция?

Ще научим как да използваме VBA InStr Excel функция с няколко примера.

Можете да изтеглите този VBA InStr Excel шаблон тук - VBA InStr Excel шаблон

VBA InStr функция - пример №1

В обяснението по-горе използвах думата Jhon като низ и исках да намеря позицията на H в низ. Ще напиша кода за същото в VBA и ще използвам функция Instr, за да намеря позицията на J в низ.

Следвайте стъпките по-долу, за да използвате InStr функцията в VBA.

Стъпка 1: В раздела Developer кликнете върху Visual Basic, за да отворите VB Editor.

Стъпка 2: След като модулът е отворен, декларирайте подфункция, за да започнете да пишете кода.

Код:

 Sub Сравнете () End Sub 

Стъпка 3: Сега функцията е декларирана, Трябва да декларираме променлива, за да съхраним позицията на подреда.

Код:

 Sub Сравнете () Dim Pos As In Integer End Sub 

Стъпка 4: Сега пишем функцията InStr, за да разберем позицията на нашата подреда.

Код:

 Sub Сравнете () Dim Pos As In Integer Pos = InStr ("Jhon", "J") End Sub 

Стъпка 5: За да върнем позицията на подреда като стойност, използваме функцията MsgBox и затваряме подфункцията.

Код:

 Sub Сравнете () Dim Pos As Integer Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Стъпка 6: Ако стартираме кода, той показва позицията на азбуката J в низ.

Стъпка 7: Ако променим подреда, за да проверим дали кодът работи правилно, нека намерим азбуката n в низ.

Код:

 Sub Сравнете () Dim Pos As Integer Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Стъпка 8: Сега ако стартираме кода, можем да видим позицията на азбуката n в низ.

VBA InStr функция - пример №2

Сега видяхме какво правят необходимите аргументи на функцията, сега нека използваме незадължителните. Струната е „Аз съм добро момче, но не съм добър бегач“. Ще намерим подреда „Добър“ от низа, но ще пренебрегнем първото Добро от изречението.

Следвайте стъпките по-долу, за да използвате InStr функцията в VBA.

Стъпка 1: Отворете редактора на VB от раздела за програмисти, като кликнете върху Visual Basic.

Стъпка 2: Започнете с деклариране на подфункция.

Код:

 Sub Сравнение1 () Край Sub 

Стъпка 3: Сега декларирайте променлива, за да запазите позицията на подреда.

Код:

 Sub Сравнение1 () Dim Pos1 като Integer End Sub 

Стъпка 4: Сега ще използваме InStr функция, за да намерим позицията на низа.

Код:

 Sub Сравнение1 () Dim Pos1 като Integer Pos = InStr (12, „Аз съм добро момче, но бот добър бегач“, „добър“, vbBinaryCompare) Край Sub 

Стъпка 5: Сега използваме функцията Msgbox, за да върнем стойността на низа.

Код:

 Sub Сравнение1 () Dim Pos1 като Integer Pos = InStr (12, „Аз съм добро момче, но бот добър бегач“, „добър“, vbBinaryCompare) MsgBox Pos End End Sub 

Стъпка 6: Сега ако стартираме кода, можем да получим позицията на подреда.

Обяснение на Instr функция на Excel VBA

Функцията InStr в VBA се използва за връщане на позицията на стойността на подреда в низ. Какво се случва, ако стойността не бъде намерена? Ако стойността не се намери в низ, показаният резултат е нула.

Едно нещо, което винаги трябва да помним, че функцията Instr е чувствителна към регистъра. За да докажем това, преминаваме към пример 1, където използвахме функция instr за търсене на азбука.

Какво се случва, ако подреда е „N“ вместо „n“? нека разберем. Промених случая с азбуката в низ.

Сега ако пусна кода ще получа резултата, както е показано по-долу.

Това доказва, че функцията instr е чувствителна към регистъра.

Неща, които трябва да запомните

  • Двете задължителни полета са String и Substring.
  • Функцията Instr е чувствителна към регистъра.
  • Стойността на функцията InStr е цяло число.

Препоръчителни статии

Това е ръководство за функцията VBA InStr. Тук обсъдихме как да използваме Excel VBA InStr функция заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. VBA VLOOKUP функция
  2. Excel SWITCH функция
  3. Пълно ръководство за VBA при грешка
  4. Използване на лентата за превъртане в Excel

Категория: