Satura rādītājs
Viena no svarīgākajām un visplašāk izmantotajām funkcijām, ko mēs izmantojam programmā Visual Basic lietojumprogramma (VBA) ir funkcija Atrast. Šajā rakstā es parādīšu, kā jūs varat izmantot funkciju Atrast. FIND funkcija Excel ar atbilstošiem piemēriem un ilustrācijām.
Lejupielādēt Practice Workbook
Atrast funkciju VBA programmā Excel.xlsm6 ātri piemēri funkcijas FIND izmantošanai VBA programmā
Šeit mums ir datu kopa ar Grāmatu nosaukumi, autori un Cenas dažas grāmatas no grāmatnīcas ar nosaukumu Martin Bookstore.
Šodien mūsu mērķis ir aplūkot dažāda veida lietojumu no Atrast funkciju no VBA no šī datu kopuma.
1. Izmantojiet VBA funkciju Atrast bez parametra
Varat izmantot Atrast funkciju no VBA bez parametriem.
Pēc tam tā meklēs konkrētu vērtību šūnu diapazonā un atgriezīs pirmo atrasto atbilstību.
Meklēsim nosaukumu "P. B. Šelli" ailē Autors ( C4:C13 ).
Līnija ar Atrast funkciju būs:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Pilnīga VBA kods būs:
⧭ VBA kods:
Sub Atrast() Set cell = Range("C4:C17").Find("P. B. Shelly") MsgBox cell.Address End Sub
⧭ Izvades rezultāts:
Tas rada Makro ko sauc par Atrast Ja palaidīsit makroreaktoru, tas atgriezīsies. $C$6 , pirmās šūnas adrese ar nosaukumu P. B. Šelli .
Lasīt vairāk: Atrast diapazonā ar VBA programmā Excel: ietverot precīzu un daļēju sakritību
2. Piemērojiet VBA meklēšanas funkciju ar parametru After (lai sāktu meklēšanu no noteiktas šūnas)
Varat izmantot Pēc parametrs ar Atrast funkciju vietnē VBA . Tad tas sāks meklēt vērtību no šūnas, kas atrodas zem šūnas diapazonā.
Piemēram, sāksim meklēt nosaukumu "P. B. Šelli" no apakšējās šūnas C6 .
Koda rinda būs šāda:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Un pilns VBA kods būs:
⧭ VBA kods:
Sub Find() Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6")) MsgBox cell.Address End Sub
⧭ Izvades rezultāts:
Tā atgriezīsies $C$13 jo tā sāk meklēšanu no šūnas apakšas C6 , kas ir no šūnas C7 . Tātad tas kļūst P. B. Šelli šūnā C13 pirmais.
Lasīt vairāk: Kā atrast virkni šūnā, izmantojot VBA programmā Excel
3. Palaist funkciju Find VBA ar aptīšanas funkciju ap parametru After (lai meklētu vērtību apļveida veidā)
Portāls Pēc parametrs ar Atrast funkciju meklē vērtību apļveida veidā.
Tas nozīmē, ka tā sāk meklēšanu no šūnas, kas atrodas zem diapazona šūnas, pabeidz meklēšanu diapazonā un pēc tam atkal sāk meklēšanu no diapazona augšas.
Piemēram, sāksim meklēt nosaukumu "Džons Kītss" no apakšējās šūnas C8 izmantojot Pēc parametrs.
Koda rinda būs šāda:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Un pilns VBA kods būs:
⧭ VBA kods:
Sub Find() Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8")) MsgBox cell.Address End Sub
⧭ Izvades rezultāts:
Tā atgriezīsies $C$7 jo tā sāk meklēšanu no šūnas apakšas C8 , kas ir no šūnas C9 .
Tā neatrod neko līdz šūnai C13 , tātad atkal sākas no šūnas C4 un atrod vienu šūnā C7 .
Līdzīgi lasījumi:
- Kā atrast virkni ar VBA programmā Excel (8 piemēri)
- Precīza atbilstības atrašana, izmantojot VBA programmā Excel (5 veidi)
- Kā atrast un aizstāt, izmantojot VBA (11 veidi)
4. Izmantojiet meklēšanas funkciju VBA ar parametru LookAt (precīzai vai daļējai atbilstībai)
Varat izmantot Atrast funkciju vietnē VBA ar LookAt parametrs.
Izmantojiet LookAt = xlWhole par Precīzs atbilst, un LookAt=xlPart par Daļējs saskaņot.
Piemēram, mēģināsim noskaidrot, vai ir kāda grāmata ar nosaukumu "Oda" in the Grāmatas nosaukums slejā ( B4:B13 ).
Ja mēs izmantojam xlVisā koda rindā:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Izvades rezultāti parādīs kļūdu, jo tā neatradīs nevienu precīzs saskaņot.
Bet, ja izmantojat:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Tad tas atgriezīsies $B$9 , jo ir grāmata ar nosaukumu "Oda" tajā šūnā B7 , Oda lakstīgalai.
Tātad pilns kods daļēja spēles ir:
⧭ VBA kods:
Sub Find() Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart) MsgBox cell.Address End Sub
5. Darbiniet funkciju Find VBA ar parametru SearchDirection (lai norādītu meklēšanas virzienu)
Varat izmantot arī Atrast funkciju vietnē VBA ar SearchDirection parametrs.
Izmantojiet SearchDirection = xlNext meklēšanai no No augšas uz leju .
Un SearchDirection = xlPrevious meklēšanai no No apakšas uz augšu .
Piemēram, mēģināsim atrast autoru Elifa Šafak (Elif Shafak) ailē Autors ( C4:C13 ).
Ja mēs izmantojam xlNext koda rindā:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Pēc tam tas atgriezīsies $C$5 .
Bet, ja izmantojat:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Tad tas atgriezīsies $C$11 .
Tātad pilns meklēšanas kods no no apakšas uz augšu ir:
⧭ VBA kods:
Sub Atrast() Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious) MsgBox cell.Address End Sub
6. Atrast funkcija VBA ar MatchCase parametru (Lieto gadījumiem jutīgai vai nejutīgai sakritībai)
Visbeidzot, varat izmantot Atrast funkciju ar MatchCase parametrs.
Izmantojiet MatchCase = True par lielo un mazo izmēru spēles , un MatchCase=False par lielo un mazo burtu un atbilžu saskaņot.
Piemēram, mēģināsim atrast grāmatu "māte" in the Grāmatas nosaukums slejā ( B4:B13 ).
Ja mēs kodu rindā izmantojam True:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Rezultātā tiks parādīta kļūda, jo netiks atrasta neviena atbilstība.
Bet, ja izmantojat:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Tad tas atgriezīsies $B$9 jo ir grāmata ar nosaukumu "Māte" šūnā B8 .
Tātad pilns kods lielo un mazo burtu un atbilžu spēles ir:
⧭ VBA kods:
Sub Find() Set cell = Range("B4:B13").Find("Mother", MatchCase:=False) MsgBox cell.Address End Sub
Secinājums
Izmantojot šīs metodes, varat izmantot meklēšanas funkciju Visual Basic lietojumprogrammā. Vai jums ir kādi jautājumi? Droši uzdodiet mums.