Բովանդակություն
Ամենակարևոր և լայնորեն օգտագործվող գործառույթներից մեկը, որը մենք օգտագործում ենք Visual Basic հավելվածում (VBA) , Find ֆունկցիան է: Այս հոդվածում ես ձեզ ցույց կտամ, թե ինչպես կարող եք օգտագործել Excel-ի FIND ֆունկցիան պատշաճ օրինակներով և նկարազարդումներով:
Ներբեռնել պրակտիկայի աշխատանքային գիրքը
Գտնել գործառույթը VBA-ում Excel.xlsm-ում
6 Արագ օրինակներ FIND ֆունկցիան VBA-ում օգտագործելու համար
Ահա մենք ստացել է Մարտին Գրախանութ կոչվող գրախանութի որոշ գրքերի Գրքերի անունները, հեղինակները և գները տվյալները:
Այսօր: մեր նպատակն է տեսնել այս տվյալների հավաքածուից Գտնել ֆունկցիան VBA -ի օգտագործման տարբեր տեսակներ:
1. Օգտագործեք Find Function-ը VBA-ում առանց պարամետրի
Դուք կարող եք օգտագործել Գտնել ֆունկցիան VBA -ում առանց պարամետրերի:
Այնուհետև այն կփնտրի որոշակի արժեք բջիջների տիրույթում և կվերադարձնի իր գտած առաջին համընկնումը:
Եկեք որոնենք անունը «P. B. Shelly" Հեղինակ ( C4:C13 ) սյունակում:
Գտնել ֆունկցիան -ով տողը կլինի.
Set cell = Range("C4:C17").Find("P. B. Shelly")
Ամբողջական VBA կոդը կլինի՝
⧭ VBA կոդ՝
2689
⧭ Արդյունք.
Այն արտադրում է Մակրո կոչվում է Գտնել : Եթե գործարկեք Macro-ն, այն կվերադարձնի $C$6 ՝ առաջին բջջային հասցեն P անունով: B. Shelly .
Կարդալ ավելին. Գտեք VBA-ի տիրույթումExcel՝ ներառյալ ճշգրիտ և մասնակի համընկնումները
2. Կիրառեք «Գտնել» գործառույթը VBA-ում «After» պարամետրով (որոնումը սկսելու համար կոնկրետ բջիջից)
Դուք կարող եք օգտագործել After պարամետրը Գտնել ֆունկցիան : VBA -ում: Այնուհետև այն կսկսի արժեք որոնել միջակայքում գտնվող բջիջի ներքևից:
Օրինակ, սկսենք որոնել անունը «P. B. Shelly" ներքևի բջիջից C6 ։
Կոդի տողը կլինի՝
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Եվ ամբողջական VBA կոդը կլինի՝
⧭ VBA կոդը՝
5916
⧭ Ելք.
Այն կվերադարձնի $C$13 քանի որ այն սկսում է որոնել ներքևի բջիջից C6 , դա C7 բջիջից է: Այսպիսով, այն ստանում է P. B. Shelly առաջինը C13 բջիջում:
Կարդալ ավելին. Ինչպես գտնել տողը տողում Բջջն օգտագործելով VBA Excel-ում
3. Գործարկեք «Գտնել» գործառույթը VBA-ում՝ «After» պարամետրի շուրջը փաթաթելով (արժեքը շրջանաձև եղանակով որոնելու համար)
Հետո պարամետրը Գտնել ֆունկցիան<2:> որոնում է արժեքը շրջանաձև եղանակով
Այսինքն՝ այն սկսում է որոնել ընդգրկույթի բջիջի ներքևից, ավարտում է որոնումը տիրույթում և նորից սկսում ընդգրկույթի վերևից:
Օրինակ, եկեք սկսենք որոնել անունը «Ջոն Քիթս» ներքևի բջիջից C8 ` օգտագործելով After պարամետրը:
Տող կոդը կլինի՝
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Եվամբողջական VBA կոդը կլինի՝
⧭ VBA կոդը՝
7793
⧭ Արդյունք.
Այն կվերադարձնի $C$7 , քանի որ այն սկսում է որոնել ներքևի C8 բջիջից, այսինքն` C9 բջիջ:
Այն ոչինչ չի գտնում մինչև C13 բջիջը, այնպես որ այն նորից սկսվում է C4 բջիջից և գտնում մեկը բջիջում: C7 .
Նման ընթերցումներ.
- Ինչպես գտնել տող VBA-ով Excel-ում (8 օրինակ)
- Գտնել ճշգրիտ համընկնումը Excel-ում VBA-ի միջոցով (5 եղանակ)
- Ինչպես գտնել և փոխարինել VBA-ի միջոցով (11) ուղիներ)
4. Օգտագործեք Find Function-ը VBA-ում LookAt պարամետրով (ճշգրիտ կամ մասնակի համընկնումի համար)
Դուք կարող եք օգտագործել Find ֆունկցիան VBA -ում <1-ով:>LookAt պարամետր:
Օգտագործեք LookAt = xlWhole Ճշգրիտ համընկնման համար, և LookAt=xlPart Մասնակի համար համընկնում է:
Օրինակ, եկեք փորձենք պարզել, թե արդյոք Գրքի անվանումը սյունակում կա «Օդ» անունով գիրք ( B4:B13 ).
Եթե կոդի տողում օգտագործենք xlWhole `
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Արդյունքը ցույց կտա սխալ, քանի որ այն չի գտնի ճշգրիտ համընկնում:
Բայց եթե օգտագործում եք՝
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Այնուհետև այն կվերադառնա $B$9 , քանի որ բջիջում կա գիրք «Օդ» անունով : B7 , Ode to Nightingale:
Այսպիսով, մասնակի համընկնման ամբողջական կոդըէ.
⧭ VBA կոդ՝
9007
5. Գործարկեք Find Function-ը VBA-ում SearchDirection պարամետրով (Որոնման ուղղությունը նշելու համար)
Դուք կարող եք նաև օգտագործել Find ֆունկցիան VBA -ում SearchDirection պարամետրը:
Օգտագործեք SearchDirection = xlNext Վերևից մինչև Ներքև որոնելու համար:
Եվ SearchDirection = xlՆախորդ ներքևից վերև որոնելու համար:
Օրինակ, եկեք փորձենք գտնել Հեղինակին Էլիֆ Շաֆակ Հեղինակ սյունակում: ( C4:C13 ).
Եթե կոդի տողում օգտագործենք xlNext ՝
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Այնուհետև այն կվերադարձնի $C$5 ։
Բայց եթե օգտագործում եք՝
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Այնուհետև այն կվերադարձնի $C$11 :
Ուրեմն ամբողջական կոդը ներքևից վերև որոնման համար է.
⧭ VBA կոդ՝
7328
6. Գտեք գործառույթը VBA-ում MatchCase պարամետրով (Tease-Sensitive or Insensitive Match)
Վերջապես, դուք կարող եք օգտագործել Find ֆունկցիան MatchCase պարամետրով:
Օգտագործեք MatchCase = True մեծատառերի զգայուն համընկնում , և MatchCase=False համար մեծատառերի համընկնում համապատասխանում է:
Օրինակ, եկեք փորձենք գտնել «մայրիկ» գիրքը Գրքի անունը սյունակում ( B4:B13 ).
Եթե կոդի տողում օգտագործենք True.
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Ելքը ցույց կտա սխալ, քանի որ այն չի լինի: չգտնել որևէ մեկըհամընկնում է:
Բայց եթե օգտագործում եք՝
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Այնուհետև այն կվերադառնա $ B$9 քանի որ B8 բջիջում կա «Մայրիկ» անունով գիրք:
Այսպիսով, ամբողջական կոդը առանցքային համընկնումն է՝
⧭ VBA կոդը՝
2825
Եզրակացություն
Օգտագործելով այս մեթոդները՝ Visual Basic հավելվածում կարող եք օգտագործել Find Function-ը: Հարցեր ունե՞ք։ Ազատորեն հարցրեք մեզ: