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

  • Podijeli Ovo
Hugh West

Ako tražite neke od najlakših načina za pronalaženje podniza pomoću VBA, onda ste na pravom mjestu. Nakon što prođete kroz ovaj članak, moći ćete pronaći položaj podniza ili izvući podatke pomoću ovog podniza ili jednostavno promijeniti format podniza. Prijeđimo na članak.

Preuzmite radnu knjigu

Ogledni sadržaj

9 načina za pronalaženje podniza pomoću VBA

Ovdje imam sljedeće podatkovnu tablicu kojom ću prikazati načine pronalaženja podniza u nizu pomoću VBA. Također ću pokušati pokazati načine pronalaženja podniza u nasumičnim nizovima.

Izvršio sam ovaj zadatak koristeći verziju Microsoft Excel 365 , možete koristiti bilo koju drugu verziju kako vam odgovara.

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

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

Korak-01 :

➤Idite na Razvojni programer Kartica>> Visual Basic Opcija

Tada će se otvoriti Visual Basic Editor .

➤Idite na Insert Tab>> Module Option

Nakon toga, Module će biti kreiran.

Korak-02 :

➤Napišite sljedeći kod

9984

Ovdje, InStr(1, “ Mislim dakle jesam”, “misli”) vratit će položaj podniza niza. 1 jepočetni položaj, “ Mislim, dakle jesam” je niz u kojem ćete pronaći željeni podniz, a “misli” je podniz koji želite pronaći. Prema zadanim postavkama razlikuje velika i mala slova pa pazite na velika i mala slova vašeg podniza koji želite pretraživati.

➤Pritisnite F5

Rezultat :

Nakon toga, dobit ćete sljedeći Okvir s porukom koji sadrži položaj “misli” podniza.

Metoda-2: Pronalaženje podniza koji ne razlikuje 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 metoda.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

7256

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

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeći Okvir s porukom koji sadrži položaj podniza “misli” .

Možete učiniti isto korištenjem sljedećeg koda.

6425

Ovdje će Opcija Usporedi tekst pronaći podniz koji ne razlikuje velika i mala slova.

➤Pritisnite F5

Rezultat :

Nakon toga ćete dobit ću sljedeći okvir s porukom koji sadrži položaj “misli” podniza.

Metoda-3: Korištenje funkcije InstrRev u VBA

Ovdje ću pokazati kako pronaći podniz s krajaniz.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

6825

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

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeći Okvir s porukom koji sadrži položaj drugog “I” podniza iz desna strana.

Metoda-4: Pronalaženje položaja podniza u nizu u rasponu podataka

Ako želite pronaći poseban znak “@” u ID e-pošte , zatim slijedite ovu metodu. Ovdje sam dodao stupac Položaj za ovu svrhu.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

5801

Stvorit će funkciju pod nazivom FindSubstring (možete koristiti bilo koji drugi naziv)

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

Korak -02 :

➤Odaberite izlaz Ćelija E5

➤Upišite sljedeću funkciju (stvorena pomoću VBA )

=FindSubstring(D5)

D5 je ćelija koja sadrži niz.

➤Pritisnite ENTER

➤Povucite Fill Handle Alat

Rezultat :

Nakon toga ćete dobiti položaje posebnog znaka @” u ID-u e-pošte .

Slična čitanja:

  • Kako pronaćiNiz u ćeliji pomoću VBA u Excelu (2 metode)
  • Pronađi sljedeće pomoću VBA u Excelu (2 primjera)
  • Kako pronaći niz pomoću VBA u Excelu (8 primjera)
  • VBA Pronađi zadnji red u Excelu (5 načina)

Metoda-5: Provjera određenog podniza u niz u rasponu podataka

Pretpostavimo da želite napisati Prošao ili Ne odgovara na imena učenika ovisno o stupcu Rezultati gdje je Prošao ili Pao napisano u zagradi. Da biste pronašli ovaj podniz u stupacu rezultata i zapisali ga u stupac prolazno ili neuspješno slijedite ovu metodu.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

6273

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

InStr(cell.value, “Pass”) > 0 je uvjet 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 uvjet postane lažan znači da ćelija ne sadrži nijedan “Pass” tada će se red pod Else izvršiti i dati izlaznu vrijednost u susjednu ćeliju kao Neuspjelo .

Ova će se petlja nastaviti za svaku ćeliju.

➤Pritisnite F5

Rezultat :

Tada ćete dobiti sljedeće rezultate u Prolaz ili pad stupac.

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

Pokazat ću način pronalaska navedenih učenika Michael u stupcu Ime učenika i izvucite njihove odgovarajuće podatke pomoću VBA u ovoj metodi.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

2314

Ovdje sam upotrijebio B100 kao Raspon aktivnog lista ali možete koristiti bilo koji raspon prema vašoj upotrebi.

InStr(1, Range("B" & i), "Michael") > 0 uvjet je za provjeru je li ć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 dat će vrijednosti od stupaca B do D .

➤Pritisnite F5

Rezultat :

Nakon toga, dobit ćete sljedeće izdvojene podatke za učenike koji se zovu Michael .

Metoda-7: Pretraživanje podniza za riječ

Ako želite pronaći podniz kao riječ, slijedite niska ova metoda.

Korak-01 :

➤Slijedite Korak-01 od Metode-1

1266

Provjerit će sadrži li niz is i tada će biti dana njegova pozicija

➤Pritisnite F5

Rezultat :

Nakon toga ćete dobiti sljedeći okvir s porukom koji prikazuje riječ pronađenu na poziciji:6 (pozicija je ).

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

➤Upišite sljedeći kod

4917

➤Pritisnite F5

Rezultat :

Nakon toga ćete dobiti sljedeći okvir s porukom koji prikazuje riječ nije pronađena .

Metoda-8: Korištenje funkcije Instr i LEFT

Ovdje ću objasniti način pronalaženja položaja podniza u nizu i izdvajanje tekstova prije ovog podniza pomoću VBA i funkcija LEFT .

Korak-01 :

➤Slijedite Korak-01 od Metoda-1

2977

j = InStr(txt, "is") je položaj podniza je i Left(txt, j - 1) izvući će podnizove prije je .

➤Pritisnite F5

Rezultat :

Nakon toga ćete dobiti sljedeći okvir s porukom koji prikazuje Ovdje (podniz ispred je ).

Metoda-9: Podebljavanje određeni podniz u nizu

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

Korak-01 :

➤Slijedite Korak-01 od Metode- 1

1176

txt = InStr(1, Cell, "(") vratit će položaj prve zagrade i Cell.Characters(1, txt - 1).Font.Bold učinit će podniz prije prve zagrade Podebljanim .

Korak-02 :

➤Odaberite stupac rezultata

➤Idi na Razvojnu Karticu>> Makronaredbe Opciju

Zatim, Makro pojavit će se čarobnjak.

➤Odaberite Boldingsubstring (VBA kodni naziv), a zatim Pokreni .

Rezultat :

Nakon toga, ocjene u Rezultat Stupcu bit će podebljane.

Odjeljak za vježbu

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

Zaključak

U ovom sam članku pokušao pokriti najlakše načine pronalaženja podniza pomoću VBA učinkovito u Excelu. Nadam se da će vam biti od koristi. Ako imate prijedloge ili pitanja, slobodno ih podijelite s nama.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.