Како пронаћи стринг са ВБА у Екцелу (8 примера)

  • Деле Ово
Hugh West

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

Преузмите шаблон за вежбање

Ви можете преузети бесплатни Екцел шаблон за вежбање одавде.

ВБА за проналажење у Стринг.клсм

ИнСтр функција

Мицрософт Екцел има уграђену функцију под називом ИнСтр Фунцтион да пронађе позицију одређених стрингова у датом стрингу.

Општа синтакса:

InStr([start], string1, string2, [compare])

Овде,

Аргументи Обавезно/ Опционо Дефиниција
почетак Опционо Почетна позиција претраге.
  • Подразумевано, функција ИнСтр израчунава позицију карактера рачунајући од 1, а не од почетне позиције. Дакле, можете оставити ово празно ако желите.
стринг1 Обавезно Стринг за претрагу, примарни стринг.
стринг2 Обавезно Стринг за претрагу у примарном стрингу .
упореди Опционо Функција ИнСтр подразумевано разликује велика и мала слова. Али ако желите да покренете ИнСтр без обзира на велика и мала слова, онда можете проследити аргумент овде да бисте извршили одређено поређење. Овај аргумент може бити следећивредности,
  • вбБинариЦомпаре -&гт; врши бинарно поређење, враћа вредност 0
  • вбТектЦомпаре -&гт; врши поређење текста, враћа вредност 1
  • вбДатабасеЦомпаре -&гт; врши поређење базе података, враћа вредност 2

Подразумевано, ИнСтр узима вбБинариЦомпаре као аргумент за поређење.

8 једноставних примера за проналажење одређене позиције низа у датом низу помоћу ВБА

Хајде да видимо неке једноставне примере за добијање положаја одређених стрингова у датом низу помоћу ВБА .

1. ВБА за проналажење позиције текста у низу

У наставку је пример ИнСтр за проналажење положај текста у низу.

  • Притисните Алт + Ф11 на тастатури или идите на картицу Програмер -&гт; Висуал Басиц да отворите Висуал Басиц Едитор .

  • У искачућем прозору кода, са траке менија , кликните на Уметни -&гт; Модул .

  • Сада у прозору кода, напишите једноставан ИнСтр програм унутар ВБА Суб Процедура (погледајте доле).
6852

Ваш код је сада спреман за покретање.

  • Притисните Ф5 на тастатури или на траци менија изаберите Покрени -&гт; Покрените Суб/УсерФорм . Такође можете само да кликнете на малу икону Плаи на траци подменија да бисте покренули макро.

Видећете да искачућа порука ће вам дати бројдекларисање позиције текста који желите да проверите.

Објашњење:

Наш примарни стринг, „ Срећа ис а цхоице ” је реченица од 21 слово (са размацима) и желели смо да пронађемо позицију текста „ цхоице ” у том низу. Текст „ цхоице ” је почео са 16. позиције примарног стринга, па смо добили број 16 као наш излаз у оквиру за поруке.

2. ВБА за проналажење текста са одређене позиције у стрингу

Сада да сазнамо шта би се десило ако бисмо желели да добијемо позицију из одређеног броја.

  • На исти начин као пре тога, отворите Висуал Басиц Едитор са картице Развојник и Инсерт а Модуле у прозору кода.
  • У прозору кода, напишите једноставан ИнСтр програм приказан изнад и проследите вредност у почетном аргументу према позицији са које желите да рачунате свој текст.
2651

  • Следеће, Покрени код.

Видећете да ће искачућа порука дати вам број који декларише позицију текста почевши од одређене позиције коју желите да проверите.

Објашњење:

Као што смо већ знали (из дискусије прве фазе) да је текст „ избор ” почео са позиције 16 , па смо убацили два „ цхоице ” у примарном низу и поставите 17 као наш1. параметар за прескакање првог „ избор ”. Дакле, Покренили смо горњи макро и он нам је показао број позиције 27 што је тачно број позиције другог избор ” у датом низу.

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

Од увођења функције ИнСтр већ знате да је подразумевано функција ИнСтр је осетљиво на велика и мала слова. Хајде да то откријемо на примеру.

Погледајте следећи ВБА код, где смо желели да пронађемо позицију речи „ Избор ” са великим „Ц” у низу „ Срећа је избор ” где је избор написан са малим „ц” .

  • Покрените код и пронађите 0 као наш излаз.

То је зато што функција ИнСтр различито третира велико “Ц” и мало “ц” . Дакле, тражио је реч „ Избор ” у низу и није добио никакво подударање, па је вратио 0 .

  • Да бисте функцију ИнСтр учинили неосетљивом на велика и мала слова , поставите аргумент за поређење на вбТектЦомпаре (погледајте испод).
5941

  • Покрени код.

Добићете позицију текста из стринга, било да је текст написан великим или малим словима .

4. ВБА за проналажење текста са десне стране стринга

До сада нам је функција ИнСтр давала само позицију са леве стране стринга. Али шта ако желите да пронађете позицију текста са десне стране стринга.

Функција ИнСтрРев претражује са десне стране. Функција ИнСтрРев ради веома слично функцији ИнСтр и она ће вам пронаћи позицију текста са десне стране низа.

Погледајте следеће примере да бисте разумели разлику.

  • Ако покренемо следећи код са функцијом ИнСтр онда,

даје нам позицију ( 16 ) првог текста „ избор ”.

  • Али ако покренемо исти код са функцијом ИнСтрРев онда,

то нам даје позицију ( 27 ) последњег текста „ избор ”.

Слична читања:

  • ФиндНект користећи ВБА у Екцел-у (2 примера)
  • Како пронаћи и заменити користећи ВБА (11 начина)
  • Пронађи тачно подударање користећи ВБА у Екцел-у (5 начина)

5. ВБА за проналажење позиције знака у стрингу

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

  • Копирајте следећи код у ваш ВБА прозор кода
8612

  • И Покрени макро.

Први “ е ” у нашем датом низу је наброј 7 позиција.

6. ВБА за проналажење подниза у стрингу

Овде ћемо научити како да пронађемо да ли стринг садржи подниз или не.

Да бисмо то добили, имамо да покренете ИФ наредбу у нашем коду.

  • На исти начин као и раније, отворите Висуал Басиц Едитор са картице Девелопер и Уметните Модуле у прозор кода.
  • У прозору кода, копирајте следећи код и налепите га.
7711

Ваш код је сада спреман за покретање.

  • Покрени макро.

Ако ваш стринг садржи подниз онда ћете добити подударање пронађено , у супротном ће вратити да није пронађено подударање. У нашем примеру, желели смо да сазнамо да ли наш примарни стринг „ Срећа је избор ” садржи реч „ избор ” или не. Док то ради, добијамо резултат Пронађено подударање .

7. ВБА за проналажење стринга у опсегу ћелија

Можете да тражите одређени текст у низу ћелија и вратите одређени стринг.

Погледајте следећи пример где ћемо пронађите „ Др. ” и када постоји подударање вратиће „ Доктор ”.

  • У наставку је код за добијање резултата о којем смо горе говорили,
2784

  • Покрени кода и резултат је приказан испод

  • Можете модификовати макро према вашим потребама. На пример, ако желитеда пронађете „ Проф. ” у било којој ћелији стринга и добијете „ Профессор ” као повратак, а затим једноставно проследите „ Проф. ” као вредност уместо „ Др .” у 4. реду макроа и „ Професор ” уместо „ Доктор ” у 5. реду макроа и дефиниши сходно томе број опсега ћелија.

8. ВБА за проналажење стринга у ћелији

Можете и претражити одређени текст у једној ћелији стринга и вратити одређени стринг.

  • Копирајте следећи код и налепите га у прозор кода.
2134

Тражиће „ Др. ” у ћелији Б5 и ако пронађе подударање онда враћа „ Доктор ” у ћелији Ц5 .

  • Можете да измените макро према вашим потребама. На пример, ако желите да пронађете „ Проф. ” у било којој ћелији стринга и добијете „ Професор ” као повратак, затим једноставно пренесите „ Проф. ” као вредност уместо „ Др .” у 2. реду макроа и „ Професор ” уместо „ Доктор ” у 3. реду макроа и дефинишите референтни број ћелије у складу са тим.

Закључак

Овај чланак вам је показао како да пронађете одређене текстове у стрингу у Екцел-у користећи ВБА макро. Надам се да вам је овај чланак био од велике користи. Слободно поставите било каква питања у везитему.

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