Ինչպես օգտագործել Find ֆունկցիան VBA-ում (6 օրինակ)

  • Կիսվել Սա
Hugh West

Ամենակարևոր և լայնորեն օգտագործվող գործառույթներից մեկը, որը մենք օգտագործում ենք 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-ը: Հարցեր ունե՞ք։ Ազատորեն հարցրեք մեզ:

Հյու Ուեսթը բարձր փորձառու Excel-ի մարզիչ և վերլուծաբան է, որն ունի ավելի քան 10 տարվա փորձ այս ոլորտում: Նա հաշվապահական հաշվառման և ֆինանսների բակալավրի և բիզնեսի կառավարման մագիստրոսի կոչում է ստացել: Հյուը կիրք ունի դասավանդելու նկատմամբ և մշակել է ուսուցման յուրահատուկ մոտեցում, որը հեշտ է հետևել և հասկանալ: Excel-ի նրա փորձագիտական ​​գիտելիքներն օգնել են հազարավոր ուսանողների և մասնագետների ամբողջ աշխարհում բարելավել իրենց հմտությունները և առաջադիմել իրենց կարիերայում: Իր բլոգի միջոցով Հյուն կիսվում է իր գիտելիքներով աշխարհի հետ՝ առաջարկելով Excel-ի անվճար ձեռնարկներ և առցանց ուսուցում, որոնք կօգնեն անհատներին և ձեռնարկություններին հասնել իրենց ողջ ներուժին: