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