Як знайсці падрадок з дапамогай VBA (9 спосабаў)

  • Падзяліцца Гэтым
Hugh West

Калі вы шукаеце некалькі самых простых спосабаў знайсці падрадок з дапамогай VBA, то вы знаходзіцеся ў правільным месцы. Прачытаўшы гэты артыкул, вы зможаце знайсці пазіцыю падрадка або атрымаць дадзеныя з дапамогай гэтага падрадка або лёгка змяніць фармат падрадка. Давайце пяройдзем да артыкула.

Спампаваць працоўны сшытак

Прыклад зместу

9 спосабаў знайсці падрадок з дапамогай VBA

Тут у мяне ёсць наступнае табліца дадзеных, з дапамогай якой я пакажу спосабы пошуку падрадка ў радку з дапамогай VBA. Я таксама паспрабую паказаць спосабы пошуку падрадка ў выпадковым радку.

Я выканаў гэтую задачу з выкарыстаннем версіі Microsoft Excel 365 , вы можаце выкарыстоўваць любую іншую версію ў залежнасці ад вашага зручнасці.

Спосаб 1: Пошук падрадка ў радку з дапамогай VBA

Калі вы хочаце знайсці патрэбны падрадок у радку з дапамогай VBA, вы можаце выкарыстоўваць функцыя InStr у кодзе VBA.

Крок-01 :

➤Перайсці да Распрацоўшчык Укладка>> Visual Basic Option

Затым адкрыецца Visual Basic Editor .

➤Перайдзіце да Уставіць Tab>> Module Option

Пасля гэтага будзе створаны Module .

Крок-02 :

➤Напішыце наступны код

1641

Тут, InStr(1, “ Я думаю, значыць, я ёсць», «думаю») верне пазіцыю падрадка радка. 1 гэтапачатковая пазіцыя, « Я думаю, значыць, я ёсць» гэта радок, у якім вы знойдзеце патрэбны падрадок, а «думайце» гэта падрадок, які вы хочаце знайсці. Па змаўчанні ён адчувальны да рэгістра, таму будзьце ўважлівыя да рэгістра падрадка, у якім вы хочаце шукаць.

➤Націсніце F5

Вынік :

Пасля гэтага вы атрымаеце наступнае Вокна паведамлення , якое змяшчае пазіцыю “думаць” падрадка.

Спосаб 2: Пошук падрадка без уліку рэгістра ў радку

Калі вы хочаце знайсці патрэбны падрадок у радку незалежна ад рэгістра з дапамогай VBA, выканайце наступнае метад.

Крок-01 :

➤Выканайце Крок-01 з Метад-1

5240

Тут vbTextCompare выкарыстоўваецца для пошуку падрадка без уліку рэгістра.

➤Націсніце F5

Вынік :

Тады вы атрымаеце наступнае Вокна паведамлення , якое змяшчае пазіцыю “think” падрадка.

Вы можаце зрабіць тое ж самае, выкарыстоўваючы наступны код.

5161

Тут Параўнанне тэксту знойдзе падрадок без уліку рэгістра.

➤Націсніце F5

Вынік :

Пасля гэтага вы з атрымаю наступнае Вокна паведамлення , якое змяшчае пазіцыю “think” падрадка.

Спосаб 3: Выкарыстанне функцыі InstrRev у VBA

Тут я пакажу спосаб знайсці падрадок з канцарадок.

Крок-01 :

➤Выканайце Крок-01 з Метад-1

1881

InStrRev будзе знайсці падрадок справа, а не злева.

➤Націсніце F5

Вынік :

Тады вы атрымаеце наступнае Вокна паведамлення , якое змяшчае пазіцыю другога “I” падрадка з правы бок.

Спосаб 4: Пошук пазіцыі падрадка ў радку ў дыяпазоне даных

Калі вы хочаце знайсці спецыяльны сімвал “@” у Ідэнтыфікатар электроннай пошты , а затым прытрымлівайцеся гэтага метаду. Для гэтай мэты я дадаў сюды слупок "Пазіцыя" .

Крок-01 :

➤Выконвайце Крок-01 з Метад-1

9110

Ён створыць функцыю з назвай FindSubstring (вы можаце выкарыстоўваць любую іншую назву)

значэнне гэта спасылка на ячэйку, якая змяшчае радок і аб'яўлена як Дыяпазон .

Крок -02 :

➤Абярыце выхад Ячэйка E5

➤Увядзіце наступную функцыю (створаную VBA )

=FindSubstring(D5)

D5 - ячэйка, якая змяшчае радок.

➤Націсніце ENTER

➤Перацягніце ўніз Рэндык запаўнення Інструмент

Вынік :

Пасля гэтага вы атрымаеце пазіцыі спецыяльнага сімвала @” у Ідэнтыфікатары электроннай пошты .

Падобныя чытанні:

  • Як знайсціРадок у ячэйцы з дапамогай VBA ў Excel (2 метады)
  • FindNext з дапамогай VBA ў Excel (2 прыклады)
  • Як знайсці радок з VBA ў Excel (8 прыкладаў)
  • VBA Знайсці апошні радок у Excel (5 спосабаў)

Спосаб 5: Праверка пэўнага падрадка ў радок у дыяпазоне даных

Дапусцім, вы хочаце напісаць Здана ці Не адпавядае імёнам студэнтаў у залежнасці ад слупка Вынік дзе ў дужках напісана Здана ці Не праведзена . Каб знайсці гэты падрадок у слупку "Вынікі" і запісаць яго ў слупок здаў або не прайшоў , прытрымлівайцеся гэтага метаду.

Крок-01 :

➤Выканайце Крок-01 з Метад-1

7640

Тут дыяпазон ячэек C5:C10 , які з'яўляецца слупком вынікаў

InStr(cell.value, “Pass”) > 0 гэта ўмова, пры якой лік большы за нуль (калі ячэйка змяшчае «Здана» ), тады наступны радок будзе працягвацца і дасць вывад у суседняй ячэйцы як Здана .

Калі ўмова становіцца ілжывай, азначае, што ячэйка не ўтрымлівае ніякіх “Pass” , тады радок пад Else будзе выкананы і дасць вываднае значэнне ў суседнюю ячэйку як Збой .

Гэты цыкл будзе працягвацца для кожнай ячэйкі.

➤Націсніце F5

Вынік :

Тады вы атрымаеце наступныя вынікі ў Прайшло або не прайшло слупок.

Метад 6: Праверка пэўнага падрадка ў радку і выманне даных

Я пакажу спосаб знайсці названых студэнтаў Майкл у слупку Імя студэнта і выцягніце адпаведныя даныя з дапамогай VBA у гэтым метадзе.

Крок-01 :

➤Выконвайце Крок-01 з Метад-1

4488

Тут я выкарыстаў B100 як Дыяпазон актыўнага аркуша , але вы можаце выкарыстоўваць любы дыяпазон у адпаведнасці з вашым выкарыстаннем.

InStr(1, Range("B" & i), "Michael") > 0 гэта ўмова для праверкі, калі ячэйка ў слупок B змяшчае Майкл

Range("E" & icount & ":G" & icount) гэта дыяпазон, дзе вы хочаце атрымаць выходныя даныя, а Range("B" & i & ":D" & i).value дасць значэнні са слупкоў B да D .

➤Націсніце F5

Вынік :

Пасля гэтага вы атрымаеце наступныя вынятыя даныя для студэнтаў з імем Майкл .

Спосаб 7: Пошук слова ў падрадку

Калі вы хочаце знайсці падрадок як слова, то нізкі гэты метад.

Крок-01 :

➤Выканайце Крок-01 з Метад-1

2559

Будзе праверана, ці ўтрымлівае радок гэта , а потым будзе вызначана яго пазіцыя

➤Націсніце F5

Вынік :

Пасля гэтага вы атрымаеце наступнае акно паведамлення, якое паказвае слова, знойдзенае ў пазіцыі:6 (пазіцыя гэта ).

Вы можаце праверыцьвывядзіце гэты код для слова, якога няма ў радку.

➤Увядзіце наступны код

5081

➤Націсніце F5

Вынік :

Пасля гэтага вы атрымаеце наступнае акно паведамлення, якое паказвае слова не знойдзена .

Спосаб 8: Выкарыстанне Instr і функцыі LEFT

Тут я растлумачу спосаб пошуку пазіцыі падрадка ў радку і вылучэння тэкстаў перад гэтым падрадком з дапамогай VBA і функцыя LEFT .

Крок-01 :

➤Выканайце Крок-01 з Метад-1

7867

j = InStr(txt, "is") гэта пазіцыя падрадка гэта і Left(txt, j - 1) будзе выняць падрадкі перад гэта .

➤Націсніце F5

Вынік :

Пасля гэтага вы атрымаеце наступнае акно паведамлення, якое паказвае Тут (падрадок перад з'яўляецца ).

Метад-9: тоўсты шрыфт пэўны падрадок у радку

Вы можаце вылучыць адзнакі перад дужкамі ў слупку вынікаў , выконваючы гэты метад d.

Крок-01 :

➤Выканайце Крок-01 з Метад- 1

9236

txt = InStr(1, Cell, "(") верне пазіцыю першай дужкі, а Cell.Characters(1, txt - 1).Font.Bold зробіць падрадок перад першай дужкай тлустым .

Крок-02 :

➤Абярыце слупок вынікаў

➤Перайсці да Распрацоўшчык Укладка>> Макрасы Параметр

Затым, МакрасЗ'явіцца майстар .

➤Абярыце Boldingsubstring (кодавая назва VBA), а затым Выканаць .

Вынік :

Пасля гэтага адзнакі ў слупку Вынік будуць выдзелены тлустым шрыфтам.

Раздзел практыкі

Для практыкі самастойна мы забяспечылі раздзел Практыка , як паказана ніжэй, на аркушы пад назвай Практыка . Калі ласка, зрабіце гэта самастойна.

Выснова

У гэтым артыкуле я паспрабаваў ахапіць самыя простыя спосабы пошуку падрадка з дапамогай VBA у Excel эфектыўна. Спадзяюся, вы знойдзеце гэта карысным. Калі ў вас ёсць якія-небудзь прапановы або пытанні, не саромейцеся падзяліцца імі з намі.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.