Sadržaj
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.