Kako pronaći podniz koristeći VBA (9 načina)

  • Podijeli Ovo
Hugh West

Ako tražite neke od najjednostavnijih načina da pronađete podniz koristeći VBA, onda ste na pravom mjestu. Nakon što prođete kroz ovaj članak, moći ćete pronaći poziciju podniza ili izdvojiti podatke koristeći ovaj podniz ili lako promijeniti format podniza. Uđimo u članak.

Preuzmite radnu svesku

Sadržaj uzorka

9 načina da pronađete podniz pomoću VBA

Evo, imam sljedeće tablicu podataka pomoću koje ću pokazati načine pronalaženja podniza u nizu pomoću VBA. Pokušaću da pokažem i načine pronalaženja podniza u nasumičnom nizu.

Ovaj zadatak sam obavio koristeći verziju Microsoft Excel 365 , možete koristiti bilo koju drugu verziju kako vam odgovara.

Metod-1: Pronalaženje podniza u nizu pomoću VBA

Ako želite pronaći željeni podniz u nizu koristeći VBA, možete koristiti funkcija InStr u VBA kodu.

Korak-01 :

➤Idite na Programer Tab>> Visual Basic Opcija

Onda će se otvoriti Visual Basic Editor .

➤Idite na Umetni Tab>> Modul Opcija

Nakon toga će se kreirati Modul .

Korak-02 :

➤Upišite sljedeći kod

2945

Ovdje, InStr(1, “ Mislim, dakle jesam”, “mislim”) će vratiti poziciju podniza niza. 1 jepočetna pozicija, “ mislim, dakle, jesam” je niz na kojem ćete pronaći željeni podniz, a ”mislim” je podniz koji želite pronaći. Podrazumevano je osjetljiv na velika i mala slova pa pazite na velika i mala slova vašeg podniza koji želite pretraživati.

➤Pritisnite F5

Rezultat :

Nakon toga, dobićete sljedeću Poruku koja sadrži poziciju “misliti” podniza.

Metod-2: Pronalaženje podniza bez obzira na velika i mala slova u nizu

Ako želite pronaći željeni podniz u nizu, bez obzira na velika i mala slova koristeći VBA, slijedite ovo metod.

Korak-01 :

➤Prati Korak-01 od Metoda-1

6579

Ovdje se vbTextCompare koristi za pronalaženje podniza koji ne razlikuje velika i mala slova.

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeći Boks za poruke koji sadrži poziciju “misliti” podniza.

Isto možete učiniti korištenjem sljedećeg koda.

9399

Ovdje, Opcija Usporedi tekst će pronaći podniz bez obzira na velika i mala slova.

➤Pritisnite F5

Rezultat :

Nakon toga ćete Dobit ću sljedeći Boks za poruke koji sadrži poziciju “think” podniza.

Metod-3: Upotreba funkcije InstrRev u VBA

Ovdje ću pokazati način kako pronaći podniz s krajastring.

Korak-01 :

➤Slijedite Korak-01 od Metoda-1

9071

InStrRev će pronaći podniz s desne strane umjesto s lijeve strane.

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeći Boks za poruke koji sadrži poziciju drugog “I” podniza iz desna strana.

Metod-4: Pronalaženje pozicije podniza u nizu u rasponu podataka

Ako želite pronaći specijalni znak “@” u Id e-pošte , zatim slijedite ovaj metod. Dodao sam ovdje Pozicioni stupac u tu svrhu.

Korak-01 :

➤Slijedite Korak-01 od Metoda-1

1888

Kreiraće funkciju pod nazivom FindSubstring (možete koristiti bilo koje drugo ime)

vrijednost je referenca ćelije koja sadrži niz i deklarirana je kao Raspon .

Korak -02 :

➤Odaberite izlaz Ćelija E5

➤Upišite sljedeću funkciju (koju kreira VBA )

=FindSubstring(D5)

D5 je ćelija koja sadrži niz.

➤Pritisnite ENTER

➤Prevucite nadole ručicu za popunjavanje Alat

Rezultat :

Nakon toga, dobićete pozicije specijalnog znaka @” u Id e-pošte .

Slična čitanja:

  • Kako pronaćiString u ćeliji koristeći VBA u Excelu (2 metode)
  • PronađiSljedeći koristeći VBA u Excelu (2 primjera)
  • Kako pronaći string sa VBA u Excelu (8 primjera)
  • VBA Pronađi posljednji red u Excelu (5 načina)

Metod-5: Provjera određenog podniza u string u rasponu podataka

Pretpostavimo da želite napisati Prošao ili Ne odgovara imenima učenika u zavisnosti od kolone Rezultat gdje je u zagradi napisano Prošao ili Pao . Da biste pronašli ovaj podniz u koloni Rezultat i zapisali ga u kolonu Prošlo ili ne uspjelo slijedite ovu metodu.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

2563

Ovdje je raspon ćelija C5:C10 što je kolona rezultata

InStr(cell.value, “Pass”) > 0 je uslov u kojem je broj veći od nule (kada ćelija sadrži “Prošlo” )  tada će se sljedeći red nastaviti i dati izlaz u susjednoj ćeliji kao Prošlo .

Ako uslov postane netačan znači da ćelija ne sadrži “Pass” tada će se linija pod Else izvršiti i dati izlaznu vrijednost u susjedna ćelija kao Neuspješno .

Ova petlja će se nastaviti za svaku ćeliju.

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeće izlaze u Prošlo ili ne kolona.

Metoda 6: Provjera određenog podniza u nizu i izdvajanje podataka

Pokazaću način pronalaženja učenika po imenu Michael u koloni Ime učenika i izdvojiti njihove odgovarajuće podatke koristeći VBA u ovoj metodi.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

6965

Ovdje sam koristio B100 kao Aktivni raspon lista , ali možete koristiti bilo koji raspon prema vašoj upotrebi.

InStr(1, Range("B" & i), "Michael") > 0 je uslov za provjeru da li je ćelija u stupac B sadrži Michael

Range("E" & icount & ":G" & icount) je raspon u kojem želite svoje izlazne podatke i Range("B" & i & ":D" & i).value će dati vrijednosti od kolona B do D .

➤Pritisnite F5

Rezultat :

Nakon toga, dobićete sledeće izdvojene podatke za učenike koji se zovu Mihael .

Metod-7: Pretraživanje podniza za riječ

Ako želite pronaći podniz kao riječ, onda fol snizite ovu metodu.

Korak-01 :

➤Slijedite Korak-01 od Metoda-1

9907

Provjerit će da li niz sadrži je i tada će mu se dati pozicija

➤Pritisnite F5

Rezultat :

Nakon toga, dobićete sljedeću poruku koja prikazuje riječ koja se nalazi na poziciji:6 (pozicija je ).

Možete testiratiizbacite ovaj kod za riječ koja nije u nizu.

➤Upišite sljedeći kod

9330

➤Pritisnite F5

Rezultat :

Nakon toga, dobićete sljedeću poruku koja prikazuje riječ nije pronađena .

Metoda-8: Upotreba funkcije Instr i LEFT

Ovdje ću objasniti način pronalaženja pozicije podniza u nizu i izdvajanja tekstova prije ovog podniza korištenjem VBA i LIJEVA funkcija .

Korak-01 :

➤Slijedite Korak-01 od Metoda-1

8256

j = InStr(txt, "is") je pozicija podniza je i Left(txt, j - 1) će izdvojiti podnize prije je .

➤Pritisnite F5

Rezultat :

Nakon toga, dobit ćete sljedeću poruku koja prikazuje Ovdje (podniz prije je ).

Metod-9: Podebljano Određeni podniz u nizu

Možete podebljati ocjene prije zagrada u koloni rezultata slijedeći ovu metodu d.

Korak-01 :

➤Slijedite Korak-01 od Metoda- 1

5408

txt = InStr(1, Cell, "(") će vratiti poziciju prve zagrade i Cell.Characters(1, txt - 1).Font.Bold će napraviti podniz ispred prve zagrade Podebljano .

Korak-02 :

➤Odaberite kolona rezultata

➤Idi na Programer Tab>> Makroi Opcija

Zatim, MakroPojavit će se čarobnjak.

➤Odaberite Boldingsubstring (VBA kodno ime), a zatim Run .

Rezultat :

Nakon toga, ocjene u Rezultat Kolona će biti podebljane.

Odjeljak za vježbanje

Za samostalno vježbanje obezbijedili smo odjeljak Vježbanje kao dolje na listu pod nazivom Vježbanje . Učinite to sami.

Zaključak

U ovom članku pokušao sam pokriti najlakše načine za pronalaženje podniza koristeći VBA u Excelu efikasno. Nadam se da će vam biti od koristi. Ako imate bilo kakvih prijedloga ili pitanja, slobodno ih podijelite s nama.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.