VBA LEIA JÄRGMINE | Kuidas kasutada funktsiooni FindNext Exceli VBA-s?

Exceli VBA Leia järgmine

Nagu Excelis, kui vajutame klahvikombinatsiooni CTRL + F, hüppab üles viisardikast, mis võimaldab meil antud töölehelt väärtust otsida ja kui väärtus on leitud, klõpsame järgmise sarnase väärtuse leidmiseks kõrval asuvat nuppu, kuna see on töölehe funktsioon saab seda VBA-s kasutada ka rakenduse atribuudimeetodina kui application.findnext samadel eesmärkidel.

Konkreetse väärtuse leidmine mainitud vahemikus on hea, kuid mis siis, kui nõutakse mitme kordusega väärtuse leidmist. Ühes varasemas artiklis oleme käsitlenud VBA-s leidmise meetodit ja see pole üldse keeruline, kuid kõigi korduvate esinemiste leidmine on võimalik ainult Exceli VBA-s oleva meetodi „Leia järgmine” abil.

Selles artiklis me näitame teile, kuidas seda Exceli VBA-s leidmist "Järgmine leida" kasutada.

Mis on Exceli VBA-s järgmine järgmine?

Kuna sõna ütleb „Leia järgmine”, tähendab leitud lahtrist jätkamist järgmise väärtuse otsimine, kuni naaseb tagasi algsesse lahtrisse, kus oleme otsingu alustanud.

See on meetodi „Leia” täiustatud versioon, mis otsib mainitud vahemikus mainitud väärtust ainult ühel korral.

Allpool on meetodi LEIA JÄRGMINE süntaks Exceli VBA-s.

Pärast: see on sõna, mida me otsime.

Näited Exceli VBA-s järgmise meetodi leidmisest

Allpool on näited järgmise meetodi leidmisest Exceli VBA-s.

Näiteks vaadake allolevaid andmeid.

Selle VBA Find Next Exceli malli saate alla laadida siit - VBA Find Next Exceli mall

1. samm - nendest andmetest peame leidma linna nime “Bangalore”. Alustame alamprotseduuri visuaalses põhiredaktoris.

Kood:

 Alamvahemik Järgmine_näide () Lõpp alam 

Samm # 2 - esiteks deklareerige muutuja objektiks „Range”.

Kood:

 Sub RangeNext_Example () Dim Rng kui Range End Sub 

Samm # 3 - määrake objektimuutujale viide väärtuseks „Vahemik („ A2: A11 ”).

Kood:

 Sub RangeNext_Example () Dim Rng As Range Set Rng = Range ("A2: A12") Lõpp alam 

Kuna meie linnaloendi andmed on selles vahemikus lahtrite vahemikus A2 kuni A11, otsime ainult linna “Bangalore”.

Kuna me määrasime vahemiku viite muutujale “Rng”, kasutame seda muutujat selle asemel, et iga kord kasutada RANGE (“A2: A11”).

Samm # 4 - kasutage muutujat RNG ja avage meetod Find.

Kood:

 Sub RangeNext_Example () Dim Rng Range Range Set Rng = Range ("A2: A12") Rng.Lõpeta alam 

Samm # 5 - meetodi FIND esimene argument on „Mis”, st mida me proovime otsida mainitud vahemikus, seega on otsitav väärtus „Bangalore”.

Kood:

 Sub RangeNext_Example () Dim Rng As Range Set Rng = Range ("A2: A12") Rng.Leia: = "Bangalore" End Sub 

Samm # 6 - selle väärtuse kuvamiseks deklareerige stringina veel üks muutuja.

Kood:

 Sub RangeNext_Example () Dim Rng vahemikuna Dim CellAdderess stringina Komplekt Rng = Range ("A2: A12") Rng.Find What: = "Bangalore" End Sub 

Samm # 7 - määrake selle muutuja jaoks leitud lahtriaadress.

Kood:

 Sub RangeNext_Example () Dim Rng Range Range Dim CellAdderess as String Set Rng = Range ("A2: A12"). Leidke (What: = "Bangalore") Rng.Find What: = "Bangalore" CellAddress = Rng.Address End Sub 

Märkus: RNG.adress, kuna RNG-l on leitud väärtuse lahtrile viide.

Samm # 8 - nüüd kuvage määratud lahtriaadressi muutuja tulemus VBA teatekastis.

 Sub RangeNext_Example () Dim Rng Range Range Dim CellAdderess as String Set Rng = Range ("A2: A12"). Leidke (What: = "Bangalore") Rng.Find What: = "Bangalore" CellAddress = Rng.adress MsgBox CellAddress End Alam 

Samm # 9 - käivitage kood ja vaadake, mida me siin saame.

Seega oleme lahtrist A5 leidnud väärtuse “Bangalore”. Leidmise meetodi abil leiame ainult ühe lahtri, nii et LEIA asemel peame Exceli VBA-s kasutama LEIA JÄRGMIST.

Samm # 10 - peame viitama vahemikuobjekti muutujale, kuid kasutades Exceli VBA-s LEIA JÄRGMIST meetodit.

Kood:

 Sub RangeNext_Example () Dim Rng Range Range Dim CellAdderess as String Set Rng = Vahemik ("A2: A12"). Leidke (Mis: = "Bangalore") Rng.Find Mida: = "Bangalore" CellAddress = Rng.Aadress MsgBox CellAddress Set Rng = Vahemik ("A2: A12"). FindNext (Rng) End Sub 

Nagu ülal näete, oleme kasutanud meetodit VBA FIND NEXT, kuid funktsiooni sees oleme kasutanud vahemikuobjekti muutuja nime.

Samm # 11 - määrake nüüd uuesti lahtri aadress ja näidake aadressi sõnumikastis.

Kood:

 Sub RangeNext_Example () Dim Rng Range Range Dim CellAdderess as String Set Rng = Vahemik ("A2: A12"). Leidke (Mis: = "Bangalore") Rng.Find Mida: = "Bangalore" CellAddress = Rng.Aadress MsgBox CellAddress Set Rng = Vahemik ("A2: A12"). FindNext (Rng) CellAddress = Rng.Address MsgBox CellAddress End Sub 

Samm # 12 - käivitage makro ja vaadake, mida me esimeses sõnumikastis saame.

Samm # 13 - esimene sõnumikast näitab lahtris A5 leitud väärtust “Bangalore”, järgmise leitud väärtuse nägemiseks klõpsake nuppu OK.

Lahtris A7 leitud teine ​​väärtus, jätkamiseks vajutage OK.

VBA Leia järgmine (aasaga)

See väljub VBA alamprotseduurist, kuid oleme veel üks lahtrist A10. Kui väärtused asuvad rohkem kui ühes lahtris, on parem kasutada tsükleid.

Ka sel juhul on meil väärtus „Bangalore” rohkem kui ühes lahtris, seega peame siia lisama ka silmused.

Samm # 14 - esiteks deklareerige vahemikuks kaks muutujat.

Kood:

 Sub RangeNext_Eexample1 () Dim Rng vahemikuna Dim FindRng as Range End Sub 

Samm # 15 - määrake esimese muutuja viide, nagu allpool näidatud.

Kood:

 Sub RangeNext_Eexample1 () Dim Rng vahemikuna Dim FindRng as Range Set Rng = Vahemik ("A2: A11"). Leidke (Mis: = "Bangalore") Lõpp alam 

Samm # 16 - teise muutuja jaoks määrake viide funktsiooni LEIA VBA abil.

 Alam RangeNext_Example1 () Dim Rng vahemikuna Dim FindRng As Range Set Rng = Vahemik ("A2: A11"). Leia (Mis: = "Bangalore") Määra FindRng = Rng.FindNext ("Bangalore") Lõpp alam 

Samm # 17 - Enne kui hakkame väärtust otsima, peame tuvastama, millisest lahtrist otsimist alustame, deklareerib muutuja stringina.

Kood:

 Sub RangeNext_Example1 () Dim Rng vahemikuna Dim FindRng As Range Set Rng = Vahemik ("A2: A11"). Leia (Mis: = "Bangalore") Määra FindRng = Rng.FindNext ("Bangalore") Dim FirstCell stringina FirstCell = Rng. Aadressi lõpu alam 

Samm # 18 - määrake selle muutuja jaoks esimene lahtriaadress.

Kood:

 Alam RangeNext_Example1 () Dim Rng vahemikuna Dim FindRng As Range Set Rng = Vahemik ("A2: A11") Määra FindRng = Rng.Find (Mis: = "Bangalore") Dim FirstCell stringina FirstCell = Rng.Aadress End Sub 

Samm # 19 - Nüüd peame kõigi lahtrite läbimiseks ja otsitava väärtuse leidmiseks lisama tsükli „Do While”.

Kood:

 Sub RangeNext_Example1 () Dim Rng vahemikuna Dim FindRng As Range Set Rng = Vahemik ("A2: A11"). Leia (Mis: = "Bangalore") Määra FindRng = Rng.FindNext ("Bangalore") Dim FirstCell stringina FirstCell = Rng. Aadressi aste, kui rakk FirstCell. Aadressi lõpu alam 

Lingi sees mainige sõnumikasti ja VBA LEIA JÄRGMIST meetodit.

Samm # 20 - allpool on teie jaoks täielik kood.

Kood:

 Sub FindNext_Example () Dim FindValue as String FindValue = "Bangalore" Dim Rng As Range Set Rng = Range ("A2: A11") Dim FindRng As Range Set FindRng = Rng.Find (What: = FindValue) Dim FirstCell As String FirstCell = FindRng.Address Do MsgBox FindRng.Address Set FindRng = Rng.FindNext (FindRng) Loop FirstCell FindRng.Address MsgBox "Otsing on läbi" Lõpp alam 

Samm # 21 - see näitab kogu sobivat lahtriaadressi ja lõpuks näitab see uues sõnumikastis sõnumit "Otsing on lõppenud".

Asjad, mida meeles pidada

  • FIND-meetodiga saab korraga leida ainult ühe väärtuse.
  • Exceli VBA-st järgmise leidmine võib järgmise väärtuse leida juba leitud väärtuse lahtrist.
  • Kõigi vahemikus olevate lahtrite läbimiseks kasutage silmust Do While.

$config[zx-auto] not found$config[zx-overlay] not found