Преглед садржаја
Ако тражите неке од најлакших начина да пронађете подниз помоћу ВБА, онда сте на правом месту. Након што прођете кроз овај чланак, моћи ћете да пронађете позицију подниза или извучете податке користећи овај подниз или лако промените формат подниза. Хајде да пређемо на чланак.
Преузмите радну свеску
Садржај примера
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 :
➤Изаберите колона резултата
➤Иди на Програмер Таб&гт;&гт; Макрои Опција
Затим, Макро чаробњак ће се појавити.
➤Изаберите Болдингсубстринг (ВБА кодно име), а затим Рун .
Резултат :
Након тога, оцене у Резултат Колони ће бити подебљане.
Одељак за вежбање
Да бисте сами вежбали, обезбедили смо одељак Вежбање као доле у листу под називом Вежбање . Урадите то сами.
Закључак
У овом чланку покушао сам да покријем најлакше начине за проналажење подниза користећи ВБА у Екцел-у ефикасно. Надам се да ће вам бити од користи. Ако имате било каквих предлога или питања, слободно их поделите са нама.