Како пронаћи подстринг користећи ВБА (9 начина)

  • Деле Ово
Hugh West

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

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

Садржај примера

9 начина да пронађете подниз помоћу ВБА

Ево, имам следеће табела података помоћу које ћу приказати начине проналажења подниза у низу помоћу ВБА. Такође ћу покушати да покажем начине проналажења подниза у насумичном низу.

Овај задатак сам обавио користећи верзију Мицрософт Екцел 365 , можете користити било коју другу верзију по вашој жељи.

Метод-1: Проналажење подниза у низу помоћу ВБА

Ако желите да пронађете жељени подниз у низу помоћу ВБА, можете користити функција ИнСтр у ВБА коду.

Корак-01 :

➤Идите на Програмер Таб&гт;&гт; Висуал Басиц Опција

Онда ће се отворити Висуал Басиц Едитор .

➤Идите на Инсерт Таб&гт;&гт; Модуле Оптион

Након тога, биће креиран Модуле .

Корак-02 :

➤Напишите следећи код

3827

Овде, ИнСтр(1, “ Мислим, дакле јесам”, „мислим”) ће вратити позицију подниза стринга. 1 јепочетна позиција, „ мислим, дакле, јесам” је низ на коме ћете пронаћи жељени подниз, а “мислим” је подниз који желите да пронађете. Подразумевано је осетљив на велика и мала слова, тако да водите рачуна о малим и малим словима вашег подниза који желите да претражујете.

➤Притисните Ф5

Резултат :

Након тога, добићете следећи Бокс са порукама који садржи позицију “тхинк” подниза.

Метод-2: Проналажење подниза без обзира на велика и мала слова у низу

Ако желите да пронађете жељени подниз у низу без обзира на велика и мала слова користећи ВБА, пратите ово метод.

Корак-01 :

➤Прати Корак-01 од Метода-1

1590

Овде се вбТектЦомпаре користи за проналажење подниза који не разликује велика и мала слова.

➤Притисните Ф5

Резултат :

Тада ћете добити следећи Бокс са порукама који садржи позицију “мислити” подниза.

Исто можете да урадите коришћењем следећег кода.

8687

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

➤Притисните Ф5

Резултат :

Након тога, добићу следећи Бокс за поруке који садржи позицију “тхинк” подниза.

Метод-3: Коришћење функције ИнстрРев у ВБА

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

Корак-01 :

➤Прати Корак-01 од Метода-1

5187

ИнСтрРев ће пронаћи подниз са десне стране уместо са леве стране.

➤Притисните Ф5

Резултат :

Тада ћете добити следећи Бокс за поруке који садржи позицију другог “И” подниза из десна страна.

Метод-4: Проналажење позиције подниза у низу у опсегу података

Ако желите да пронађете специјални знак “@” у Ид е-поште , а затим следите овај метод. Додао сам овде колону Позиција у ову сврху.

Корак-01 :

➤Прати Корак-01 од Метода-1

4787

Креираће функцију под називом ФиндСубстринг (можете користити било које друго име)

валуе је референца ћелије која садржи стринг и декларисана је као Ранге .

Корак -02 :

➤Изаберите излаз Ћелија Е5

➤Укуцајте следећу функцију (коју креира ВБА )

=FindSubstring(D5)

Д5 је ћелија која садржи стринг.

➤Притисните ЕНТЕР

➤Превуците надоле Ручица за попуњавање Алатка

Резултат :

Након тога, добићете позиције специјалног знака @” у Ид е-поште .

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

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

Метод-5: Провера одређеног подниза у стринг у опсегу података

Претпоставимо да желите да напишете Прошао или Не одговара имена ученика у зависности од колоне Резултат где је Положио или Пао написано у загради. Да бисте пронашли овај подниз у колони Резултат и записали га у колону Прошао или не успео , пратите овај метод.

Корак-01 :

➤Прати Корак-01 од Метода-1

2347

Овде је опсег ћелија Ц5:Ц10 што је колона резултата

ИнСтр(целл.валуе, “Пасс”) &гт; 0 је услов у којем је број већи од нуле (када ћелија садржи „Прошло“ )  онда ће се следећи ред наставити и дати излаз у суседној ћелији као Прошло .

Ако услов постане нетачан значи да ћелија не садржи “Пролаз” онда ће се линија испод Елсе извршити и дати излазну вредност у суседна ћелија као Неуспешно .

Ова петља ће се наставити за сваку ћелију.

➤Притисните Ф5

Резултат :

Онда ћете добити следеће излазе у Прошло или не колона.

Метод-6: Провера одређеног подниза у низу и издвајање података

Показаћу начин да пронађете ученике по имену Мајкл у колони Име ученика и издвојите њихове одговарајуће податке користећи ВБА у овој методи.

Корак-01 :

➤Прати Корак-01 од Метода-1

1152

Овде сам користио Б100 као Активни опсег листа , али можете користити било који опсег у складу са својом употребом.

InStr(1, Range("B" & i), "Michael") > 0 је услов за проверу да ли је ћелија у колона Б садржи Мицхаел

Range("E" & icount & ":G" & icount) је опсег у којем желите своје излазне податке и Range("B" & i & ":D" & i).value ће дати вредности од колона Б до Д .

➤Притисните Ф5

Резултат :

Након тога, добићете следеће издвојене податке за ученике који се зову Мајкл .

Метод-7: Претраживање подниза за реч

Ако желите да пронађете подниз као реч, онда фол смањите овај метод.

Корак-01 :

➤Пратите Корак-01 од Метода-1

7595

Провериће да ли стринг садржи је и онда ће његова позиција бити дата

➤Притисните Ф5

Резултат :

Након тога, добићете следећи оквир са поруком који приказује реч која се налази на позицији:6 (позиција је ).

Можете тестиратиизбаците овај код за реч која није у низу.

➤Укуцајте следећи код

2320

➤Притисните Ф5

Резултат :

Након тога, добићете следећу поруку која приказује реч није пронађена .

Метод-8: Коришћење функције Инстр и ЛЕФТ

Овде ћу објаснити начин на који можете пронаћи позицију подниза у низу и издвојити текстове испред овог подниза користећи ВБА и функција ЛЕФТ .

Корак-01 :

➤Прати Корак-01 од Метода-1

9112

j = InStr(txt, "is") је позиција подниза је и Left(txt, j - 1) ће издвојити подстрингове пре је .

➤Притисните Ф5

Резултат :

Након тога, добићете следећи оквир са поруком који приказује Овде (подниз пре је ).

Метод-9: Подебљано а Одређени подниз у низу

Можете подебљати оцене пре заграда у колони резултата тако што ћете пратити овај метод д.

Корак-01 :

➤Прати Корак-01 од Метода- 1

1792

txt = InStr(1, Cell, "(") ће вратити позицију прве заграде и Cell.Characters(1, txt - 1).Font.Bold ће направити подниз испред прве заграде Подебљано .

Корак-02 :

➤Изаберите колона резултата

➤Иди на Програмер Таб&гт;&гт; Макрои Опција

Затим, Макро чаробњак ће се појавити.

➤Изаберите Болдингсубстринг (ВБА кодно име), а затим Рун .

Резултат :

Након тога, оцене у Резултат Колони ће бити подебљане.

Одељак за вежбање

Да бисте сами вежбали, обезбедили смо одељак Вежбање као доле у ​​листу под називом Вежбање . Урадите то сами.

Закључак

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

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