Paano Maghanap ng Substring Gamit ang VBA (9 na Paraan)

  • Ibahagi Ito
Hugh West

Kung naghahanap ka ng ilan sa mga pinakamadaling paraan upang mahanap ang substring gamit ang VBA, nasa tamang lugar ka. Pagkatapos suriin ang artikulong ito, mahahanap mo ang posisyon ng isang substring o i-extract ang data gamit ang substring na ito o madaling baguhin ang format ng isang substring. Pumasok tayo sa artikulo.

I-download ang Workbook

Sample na nilalaman

9 Paraan para Makahanap ng Substring Gamit ang VBA

Narito, mayroon akong sumusunod talahanayan ng data kung saan ipapakita ko ang mga paraan ng paghahanap ng substring sa isang string gamit ang VBA. Susubukan ko ring ipakita ang mga paraan ng paghahanap ng substring sa isang random na string.

Ginawa ko ang gawaing ito gamit ang bersyon ng Microsoft Excel 365 , maaari kang gumamit ng anumang iba pang bersyon ayon sa iyong kaginhawahan.

Paraan-1: Paghahanap ng Substring sa isang String Gamit ang VBA

Kung gusto mong mahanap ang iyong gustong substring sa isang string gamit ang VBA, maaari mong gamitin ang ang InStr function sa VBA code.

Step-01 :

➤Pumunta sa Developer Tab>> Visual Basic Option

Pagkatapos, magbubukas ang Visual Basic Editor .

➤Pumunta sa Ipasok ang Tab>> Module Option

Pagkatapos nito, isang Module ang gagawa.

Step-02 :

➤Isulat ang sumusunod na code

6339

Dito, InStr(1, “ Sa palagay ko ay ako nga, "isipin") ay ibabalik ang posisyon ng substring ng isang string. 1 ay angpanimulang posisyon, “ Sa palagay ko ay ako nga” ay ang string kung saan mo makikita ang iyong gustong substring, at “isipin” ay ang substring na gusto mong hanapin. Ito ay bilang default na case-sensitive kaya mag-ingat sa case ng iyong substring na gusto mong hanapin.

➤Pindutin ang F5

Resulta :

Pagkatapos nito, makukuha mo ang sumusunod na Kahon ng Mensahe na naglalaman ng posisyon ng “isipin” substring.

Paraan-2: Paghahanap ng Case-Insensitive na Substring sa isang String

Kung gusto mong mahanap ang iyong gustong substring sa isang string anuman ang kaso gamit ang VBA, sundin ito paraan.

Hakbang-01 :

➤Subaybayan ang Hakbang-01 ng Paraan-1

3082

Dito, vbTextCompare ay ginagamit upang mahanap ang case-insensitive na substring.

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang sumusunod na Kahon ng Mensahe na naglalaman ng posisyon ng “isipin” substring.

Magagawa mo rin ito sa pamamagitan ng paggamit ng sumusunod na code.

4031

Dito, Option Compare Text makakakita ng case-insensitive na substring.

➤Pindutin ang F5

Resulta :

Pagkatapos, ikaw ay Makukuha ang sumusunod na Message Box na naglalaman ng posisyon ng “think” substring.

Paraan-3: Paggamit ng InstrRev function sa VBA

Dito, ipapakita ko ang paraan upang makahanap ng substring mula sa dulo ng astring.

Hakbang-01 :

➤Subaybayan ang Hakbang-01 ng Paraan-1

3339

InStrRev maghahanap ng substring mula sa kanang bahagi sa halip na sa kaliwang bahagi.

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang sumusunod na Kahon ng Mensahe na naglalaman ng posisyon ng pangalawang “I” substring mula sa kanang bahagi.

Paraan-4: Paghahanap ng posisyon ng Substring sa isang String sa isang Saklaw ng Data

Kung gusto mong hanapin ang espesyal na karakter “@” sa Email Id , pagkatapos ay sundin ang paraang ito. Idinagdag ko dito ang column ng Posisyon para sa layuning ito.

Step-01 :

➤Sundan Hakbang-01 ng Paraan-1

8281

Lilikha ito ng function na pinangalanang FindSubstring (maaari kang gumamit ng ibang pangalan)

value ay ang cell reference na naglalaman ng string at ito ay idineklara bilang Range .

Hakbang -02 :

➤Piliin ang output Cell E5

➤I-type ang sumusunod na function (ginawa ng VBA )

=FindSubstring(D5)

D5 ang cell na naglalaman ng string.

➤Pindutin ang ENTER

➤I-drag pababa ang Fill Handle Tool

Resulta :

Pagkatapos, makukuha mo ang mga posisyon ng espesyal na karakter @” sa Email Id .

Mga Katulad na Pagbasa:

  • Paano MaghanapString sa isang Cell Gamit ang VBA sa Excel (2 Paraan)
  • FindNext Gamit ang VBA sa Excel (2 Halimbawa)
  • Paano Maghanap ng String gamit ang VBA sa Excel (8 Halimbawa)
  • VBA Find Last Row in Excel (5 ways)

Paraan-5: Pagsuri ng Ilang Substring sa a String in a Range of Data

Kumbaga, gusto mong isulat ang Pass o Fail to correspond sa mga pangalan ng mga estudyante depende sa Result column kung saan ang Pass o Fail ay nakasulat sa isang bracket. Upang mahanap ang substring na ito sa Column ng Resulta at isulat ito sa column na Pass or fail sundin ang paraang ito.

Step-01 :

➤Sundan ang Step-01 ng Paraan-1

7143

Dito, ang hanay ng cell ay C5:C10 na ang Column ng Resulta

InStr(cell.value, “Pass”) > 0 ay ang kundisyon kung saan ang numero ay mas malaki kaysa sa zero (kapag ang cell ay naglalaman ng “Pass” )  pagkatapos ay ang sumusunod na linya ay magpapatuloy at magbibigay ng output sa katabing cell bilang Passed .

Kung magiging false ang kundisyon ay nangangahulugan na ang isang cell ay hindi naglalaman ng anumang “Pass” pagkatapos ay ang linya sa ilalim ng Else ay magsasagawa at magbibigay ng output value sa katabing cell bilang Nabigo .

Magpapatuloy ang loop na ito para sa bawat cell.

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang mga sumusunod na output sa Pass o fail column.

Paraan-6: Pagsuri ng Ilang Substring sa isang String at Pag-extract ng Data

Ipapakita ko ang paraan upang mahanap ang mga estudyanteng pinangalanan Michael sa column Pangalan ng Mag-aaral at i-extract ang kanilang kaukulang data gamit ang VBA sa paraang ito.

Step-01 :

➤Sundan ang Step-01 ng Paraan-1

2100

Dito, ginamit ko ang B100 bilang Active Sheet Range ngunit maaari mong gamitin ang anumang hanay ayon sa iyong paggamit.

InStr(1, Range("B" & i), "Michael") > 0 ay ang kundisyon para sa pagsuri kung ang cell ay nasa column B naglalaman ng Michael

Range("E" & icount & ":G" & icount) ay ang hanay kung saan mo gustong ang iyong output data at Range("B" & i & ":D" & i).value ay magbibigay ng mga value mula sa mga column B hanggang D .

➤Pindutin ang F5

Resulta :

Pagkatapos nito, makukuha mo ang sumusunod na kinuhang data para sa mga mag-aaral na may pangalang Michael .

Paraan-7: Paghahanap ng Substring para sa Word

Kung gusto mong hanapin ang substring bilang isang salita, pagkatapos ay fol mababa ang pamamaraang ito.

Hakbang-01 :

➤Sundin ang Hakbang-01 ng Paraan-1

7738

Titingnan nito kung ang string ay naglalaman ng ay at pagkatapos ay ibibigay ang posisyon nito

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang sumusunod na kahon ng mensahe na nagpapakita ng salitang matatagpuan sa posisyon:6 (ang posisyon ng ay ).

Maaari mong subukanilabas ang code na ito para sa isang salita na wala sa string.

➤I-type ang sumusunod na code

4981

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang sumusunod na kahon ng mensahe na nagpapakita ng salitang hindi natagpuan .

Paraan-8: Gamit ang Instr at LEFT function

Dito, ipapaliwanag ko ang paraan upang mahanap ang posisyon ng isang substring sa isang string at i-extract ang mga text bago ang substring na ito gamit ang VBA at ang LEFT function .

Step-01 :

➤Sundan ang Step-01 ng Ang Paraan-1

4301

j = InStr(txt, "is") ay ang posisyon ng substring ay at Left(txt, j - 1) ay kukuha ng mga substring bago ang ay .

➤Pindutin ang F5

Resulta :

Pagkatapos, makukuha mo ang sumusunod na kahon ng mensahe na nagpapakita Dito (substring bago ang ay ).

Paraan-9: Bolding isang Ilang Substring sa isang String

Maaari mong i-bold ang mga marka bago ang mga bracket sa Halum ng Resulta sa pamamagitan ng pagsunod sa pamamaraang ito d.

Hakbang-01 :

➤Sundan ang Hakbang-01 ng Paraan- 1

4047

txt = InStr(1, Cell, "(") ay ibabalik ang posisyon ng unang bracket at Cell.Characters(1, txt - 1).Font.Bold gagawin ang substring bago ang unang bracket na Bold .

Step-02 :

➤Piliin ang Column ng Resulta

➤Go sa Developer Tab>> Macros Option

Pagkatapos, isang Macro Lalabas ang wizard.

➤Piliin ang Boldingsubstring (ang VBA code name) at pagkatapos ay Run .

Resulta :

Pagkatapos nito, ang mga marka sa Resulta Column ay magiging bolded.

Seksyon ng Practice

Para sa paggawa nang mag-isa, nagbigay kami ng Practice na seksyon tulad ng nasa ibaba sa isang sheet na pinangalanang Practice . Mangyaring gawin ito nang mag-isa.

Konklusyon

Sa artikulong ito, sinubukan kong saklawin ang pinakamadaling paraan upang mahanap ang substring gamit ang VBA sa Excel nang epektibo. Sana ay mahanap mo itong kapaki-pakinabang. Kung mayroon kang anumang mga mungkahi o tanong, huwag mag-atubiling ibahagi ang mga ito sa amin.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.