Како користити ИнСтр функцију у ВБА (3 једноставна примера)

  • Деле Ово
Hugh West

Док радимо са Екцел ВБА кодовима, наилазимо на неколико уграђених функција које претварају сложен задатак у мали код у једном реду. ИнСтр је таква функција доступна у Екцел ВБА која тражи одређени стринг унутар другог датог низа почевши од дате позиције. Данас ћу показати како можете да користите функцију ИнСтр у ВБА за тражење одређеног стринга унутар другог датог низа.

Преузмите радну свеску за вежбу

ИнСтр Фунцтион.клсм

Увод у ВБА ИнСтр функцију

  • Резиме

Тражи одређени низ унутар датог низа, почевши од дате позиције. Ако пронађе подударање, враћа позицију у датом низу одакле је подударање почело.

  • Синтакса

ИнСтр([старт ],стринг1,стринг2,[упореди])

  • Аргументи
АРГУМЕНТ ЗАХТЕВ ОПИС

[старт] Опционално Позиција са које ће почети претраживање. Подразумевано је 1.
стринг1 Обавезно Стринг у оквиру којег се тражи дати стринг.
стринг2 Обавезно Стринг који тражи у оквиру датог низа.
[упореди] Опционо Нумеричка вредност између {-1,0,1,2} која одређује тип поређења. Тхеподразумевано је -1 (вбУсеЦомпареОптион). Ако наредба Оптион Цомпаре није наведена, извршите бинарно поређење.

Напомена:

  • Иако је [старт] аргумент и [упореди] аргумент су опциони, потребан вам је аргумент [старт] ако наведете аргумент [упореди] . У супротном, појавиће се грешка.
  • Ако је један или оба аргумента [старт] и [упореди] аргумент Нулл , суочићете се са грешком.
  • Четири наведене вредности у аргументу [упореди] врше четири различита типа поређења. Они су наведени у наставку:
ВРЕДНОСТ ЦОНСТАНТ ДЕСЦРИПТИОН

-1 вбУсеЦомпареОптион Обавља поређење наведено у наредба Оптион Цомпаре.
0 вбБинариЦомпаре Изводи бинарно поређење.
1 вбТектЦомпаре Изводи поређење текста.
2 вбДатабасеЦомпаре Изводи поређење на основу ваше базе података .
  • Опција Цомпаре наредба је наредба пре него што почне главни ВБА код. Одређује да ли ће код тражити бинарно поређење или поређење текста када је то потребно.

Опција Упореди текст

    • Једноставним речима , Бинарно поређење значи осетљиво на велика и мала словапоређење.
    • Једноставно речено , Поређење текста значи поређење без обзира на велика и мала слова.
  • Повратна вредност
    • Враћа позицију у стринг1 са које је започео стринг2 .
    • У случају да стринг2 није пронађен унутар стринг1 почевши од почетне позиције, враћа 0.
    • Ако је стринг1 нулте дужине, враћа 0.
    • Ако је стринг2 нулте дужине, враћа аргумент старт .
    • И коначно, ако је било који од стринг1 или стринг2 је Нулл , враћа грешку.

3 једноставна примера за коришћење ВБА ИнСтр функције

У У овом одељку видећемо три једноставна примера примене ВБА ИнСтр функције у Екцел-у. Хајде да видимо први пример функције ИнСтр у ВБА кодовима.

1. Одлучивање да ли је адреса е-маил адреса или не користећи ВБА ИнСтр функцију

Овде смо узели скуп података који садржи неке контакт адресе купаца. Наш циљ овде ће бити да идентификујемо да ли су адресе е-поште или не.

Сада ћемо развити ВБА код помоћу функције ИнСтр за идентификацију да ли је то адреса е-поште или не. Да бисте то урадили, следите доленаведене кораке.

Кораци:

  • На почетку идите на картицу Програмер и изаберите Висуал Басиц ( Или притисните Алт+Ф11) да отворите ВБА прозор.

  • Затим, у прозору ВБА идите на Инсерт &гт; Модул .

  • Након тога, на модул налепите следећи код:
1242

  • Штавише, направили смо функцију под називом ДЕЦИСИОН . Он одлучује да ли је адреса адреса е-поште или не. Хајде да применимо функцију на скуп података који имамо.
  • У ћелији Ц5 , запишите следећу формулу и затим аутоматски попуните остале ћелије користећи Ручица за попуњавање .
=DECISION(B5)

  • Као што видимо, идентификовали смо сваку адресу да ли је адреса е-поште или не.

🎓 Како функционише код?

  • Функција ДЕЦИСИОН(стринг1 као стринг)

Прво, ово креира функцију под називом ДЕЦИСИОН са стринг аргумент под називом стринг1 .

  • Дим Поситион Ас Интегер

Он декларише целобројну променљиву под називом Поситион .

  • Позиција = ИнСтр(1, стринг1, “@”, 0)

Ово додељује вредност Променљива Поситион као излаз функције ИнСтр са аргументима 1, стринг1, “@” и 0 . Укратко, ово додељује позицију у адреси на којој постоји “@” .

  • Ако је позиција = 0, онда ДЕЦИСИОН = “Нот Емаил”

Она додељује излаз функције ДЕЦИСИОН као „Нот Емаил” , ако је Позиција променљива је 0 , што значи да у адреси није било “@” .

(Подсетите се ако било који стринг није пронађен унутар датог низа, ИнСтр функција враћа 0 ).

  • Елсе ДЕЦИСИОН = “Емаил”

Ово додељује излаз функције ДЕЦИСИОН као “Емаил” ако је у адреси било “@” . Тако су адресе на којима постоји “@” категорисане као Е-пошта , а остале су категорисане као „Не е-пошта” .

Слична очитавања

  • Како користити ВБА УЦАСЕ функцију у Екцел-у (4 примера)
  • Користити функцију МсгБок у Екцел ВБА (Потпуно упутство)
  • Како користити ВБА СПЛИТ функцију у Екцел-у (5 примера)
  • Користити функцију ЛЦасе у ВБА у Екцел-у (са 4 примера)
  • Како користити функцију поправке у Екцел ВБА (4 примера)

2. Коришћење ВБА ИнСтр функције за Извлачење екстензија неких адреса е-поште

Овде имамо листу неких адреса е-поште неких клијената. Овај пут ћемо издвојити екстензију адресе е-поште на пример да ли имају гмаил.цом или иахоо.цом .

Да бисте то урадили, следите доле наведене кораке.

Кораци:

  • За почетак, као и претходни метод, отворите нови ВБА модул и налепите следећи код у прозор.
8668

  • Поред тога, креирали смо функцију под називом ЕКСТЕНСИОН . Извлачи екстензију било које адресе е-поште.
  • Даље, хајде да применимо ову функцију на скуп података који имамо. Прво унесите ову формулу у ћелију Ц5 , а затим двапут кликните на Филл Хандле .
=EXTENSION(B5)

  • На крају, можемо видети да смо успешно издвојили проширење свих е-порука.

🎓 Како код функционише?

  • Функција ЕКСТЕНСИОН(Емаил Ас Стринг)

Ово креира нову функцију под називом ЕКСТЕНСИОН , са стринг аргумент под називом Емаил .

  • Дим Поситион Ас Интегер

Овај део декларише целобројну променљиву под називом Поситион .

  • Позиција = ИнСтр(1, Емаил, “@”, 0)

Ово додељује вредност <1 Променљива>Позиција као излаз функције ИнСтр са аргументима 1, Емаил, “@” и 0 . Укратко, ово додељује позицију у Емаил где постоји “@” .

  • ЕКСТЕНСИОН = Ригхт(Емаил, (Лен (Емаил) – Позиција))

Овај део додељује излаз функције ЕКСТЕНСИОН као знакове после симбола “@” . Ово је обавезна екстензија за Емаил .

3. Издвајање имена или презимена из имена користећи ВБА ИнСтр функцију

Коначно, извршићемо јединствено другачији задатак. Овог пута имамо имена неких запослених уКомпанија. И покушаћемо да направимо функцију за издвајање имена или презимена запослених.

Да бисте то урадили, следите доле наведене кораке.

Кораци:

  • Прво, слично методу 1 , налепите код испод у нови модул у ВБА  прозору.
6958

  • Овде смо креирали функцију под називом СХОРТНАМЕ која издваја или име или презиме из имена. Хајде да применимо ову формулу на наш скуп података.
  • Прво, да бисте издвојили име, запишите формулу испод у ћелију Ц5 .
=SHORTNAME(B5,-1)

  • На крају, да бисмо издвојили презимена, записујемо следећу формулу у Д5 :
=SHORTNAME(B5,1)

  • Након тога, ако аутоматски попунимо остале ћелије са Филл Хандлер , видећемо наш жељени резултат.

🎓 Како функционише код?

  • Функција СХОРТНАМЕ(Име као стринг, Фирст_ор_Ласт Ас Интегер)

Креира нову функцију под називом СХОРТНАМЕ са једним аргументом стринга под називом Име и једним целобројним аргументом под називом Фирст_ор_Ласт .

  • Дим Бреак Ас Интегер

Овај део декларише нову целобројну променљиву под називом Бреак .

  • Бреак = ИнСтр(1, Наме, ” “, 0)

Додељује вредност променљиве Бреак као излаз функције ИнСтр са аргументима 1, Име, “ ” и 0 . Укратко, ово додељује позицију у Наме где постоји размак (“ ”).

  • Ако је Фирст_ор_Ласт = -1 Онда СХОРТНАМЕ = Лефт(Име, Бреак – 1)

Ова линија додељује излаз функције СХОРТНАМЕ као знакове испред размака , ако је аргумент Фирст_ор_Ласт -1. Ово је прво име.

  • СХОРТНАМЕ = Десно(Име, Лен(Име) – Прекид)

Овај део додељује излаз СХОРТНАМЕ функционише као знакови после размака , ако је аргумент Фирст_ор_Ласт 1. Ово је презиме.

Закључак

На овај начин можете писати ВБА кодове помоћу функције ИнСтр која открива позицију одређеног низа унутар другог датог стринг, а затим можете креирати сопствене функције за различите намене. Штавише, ако имате било каквих питања, слободно нас питајте.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.