Jedwali la yaliyomo
Mojawapo ya vitendakazi muhimu na vinavyotumika sana tunachotumia katika Visual Basic Application (VBA) ni kipengele cha Tafuta. Katika makala haya, nitakuonyesha jinsi unavyoweza kutumia TAFUTA kitendakazi ya Excel na mifano na vielelezo sahihi.
Pakua Kitabu cha Mazoezi
Tafuta Kazi katika VBA katika Excel.xlsm
Mifano 6 ya Haraka Ili Kutumia Chaguo za FIND katika VBA
Hapa ilipata seti ya data yenye Majina ya Vitabu, Waandishi na Bei ya baadhi ya vitabu vya duka la vitabu linaloitwa Martin Bookstore.
Leo lengo letu ni kuona aina mbalimbali za matumizi ya Tafuta fomula ya VBA kutoka kwa seti hii ya data.
1. Tumia Pata Chaguo katika VBA bila Kigezo
Unaweza kutumia Tafuta chaguo za kukokotoa ya VBA bila vigezo.
Kisha itafuata. itatafuta thamani mahususi ndani ya safu ya visanduku na kurudisha inayolingana ya kwanza inayopata.
Hebu tutafute jina “P. B. Shelly” katika safuwima Mwandishi ( C4:C13 ).
Mstari wenye kitendakazi cha Tafuta utakuwa:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Msimbo kamili VBA itakuwa:
⧭ Msimbo wa VBA:
7592
⧭ Pato:
Inazalisha Macro inayoitwa Tafuta . Ukiendesha Macro, itarudisha $C$6 , anwani ya kisanduku cha kwanza yenye jina P. B. Shelly .
Soma zaidi: Tafuta ndani ya Masafa yenye VBA katikaExcel: Inajumuisha Ulinganifu Halisi na Sehemu
2. Tumia kipengele cha Tafuta katika VBA na Kigezo cha Baada (Kuanza Kutafuta kutoka kwa Kiini Maalum)
Unaweza kutumia kigezo cha Baada ya na Tafuta kitendakazi katika VBA . Kisha itaanza kutafuta thamani kutoka chini ya kisanduku ndani ya masafa.
Kwa mfano, tuanze kutafuta jina “P. B. Shelly” kutoka chini ya seli C6 .
Mstari wa msimbo utakuwa:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Na nambari kamili ya VBA itakuwa:
⧭ Msimbo wa VBA:
3455
⧭ Pato:
Itarudi $C$13 kwa sababu inaanza kutafuta kutoka chini ya kisanduku C6 , hiyo ni kutoka kwa seli C7 . Kwa hivyo inapata P. B. Shelly kwenye seli C13 kwanza.
Soma zaidi: Jinsi ya Kupata Kamba katika a Kisanduku kinachotumia VBA katika Excel
3. Endesha Shughuli ya Tafuta katika VBA kwa Kufunga Kigezo cha Baada (Ili Kutafuta Thamani katika Njia ya Mviringo)
Kigezo cha Baada ya na Tafuta chaguo za kukokotoa hutafuta thamani kwa njia ya mduara
Yaani, huanza kutafuta kutoka chini ya kisanduku ndani ya masafa, inamaliza kutafuta katika masafa, na kisha kuanza tena kutoka juu ya masafa.
Kwa mfano, hebu tuanze kutafuta jina “John Keats” kutoka chini ya seli C8 kwa kutumia After parameta.
Mstari wa kanuni itakuwa:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Nakamilisha msimbo wa VBA utakuwa:
⧭ Msimbo wa VBA:
3825
⧭ Pato:
Itarudi $C$7 kwa sababu inaanza kutafuta kutoka chini ya seli C8 , hiyo ni kutoka seli C9 .
Haipati chochote hadi kisanduku C13 , kwa hivyo inaanza tena kutoka kwa seli C4 na kupata moja kwenye seli. C7 .
Masomo Sawa:
- Jinsi ya Kupata Kamba kwa VBA katika Excel (Mifano 8)
- Tafuta Ulinganifu Hasa Kwa Kutumia VBA katika Excel (Njia 5)
- Jinsi ya Kupata na Kubadilisha Kwa Kutumia VBA (11 Njia)
4. Tumia kipengele cha Tafuta katika VBA na Kigezo cha LookAt (Kwa Ulinganifu Hasa au Sehemu)
Unaweza kutumia Tafuta kitendakazi katika VBA na Angalia kigezo.
Tumia LookAt = xlWhole kwa mechi Halisi, na LookAt=xlPart kwa Sehemu mechi.
Kwa mfano, hebu tujaribu kujua kama kuna kitabu chochote chenye jina “Ode” kwenye Jina la Kitabu safu ( B4:B13 ).
Ikiwa tutatumia xlWhole katika mstari wa msimbo:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Toleo litaonyesha hitilafu kwa sababu halitapata sahihi inayolingana.
Lakini ukitumia:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Kisha itarudi $B$9 , kwa sababu kuna kitabu chenye jina “Ode” ndani yake kwenye kisanduku B7 , Ode to the Nightingale.
Kwa hivyo nambari kamili ya mechi partial ni:
⧭ Msimbo wa VBA:
1405
5. Tekeleza Kazi ya Tafuta katika VBA kwa Kigezo cha Utafutaji wa Utafutaji (Ili Kubainisha Mwelekeo wa Utafutaji)
Unaweza pia kutumia Tafuta kitendakazi katika VBA na SearchDirection parameta.
Tumia SearchDirection = xlNext kwa kutafuta kutoka Juu hadi Chini .
Na SearchDirection = xlPrevious kwa ajili ya kutafuta kutoka Chini hadi Juu .
Kwa mfano, hebu tujaribu kutafuta Mwandishi Elif Shafak kwenye safu Mwandishi ( C4:C13 ).
Ikiwa tutatumia xlNext katika mstari wa msimbo:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Kisha itarudi $C$5 .
Lakini ukitumia:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Kisha itarudi $C$11 .
Kwa hivyo msimbo kamili wa kutafuta kutoka chini hadi juu 2> ni:
⧭ Msimbo wa VBA:
4154