Ինչպես գտնել տող VBA-ով Excel-ում (8 օրինակ)

  • Կիսվել Սա
Hugh West

VBA -ի ներդրումն ամենաարդյունավետ, ամենաարագ և անվտանգ մեթոդն է Excel-ում ցանկացած գործողություն իրականացնելու համար: Այս հոդվածում մենք ձեզ ցույց կտանք, թե ինչպես գտնել որոշակի տողեր մեկ այլ տողում՝ օգտագործելով VBA Excel-ում:

Ներբեռնեք պրակտիկայի ձևանմուշը

Դուք կարող եք ներբեռնել Excel-ի անվճար պրակտիկայի ձևանմուշն այստեղից:

VBA՝ String.xlsm-ում գտնելու համար

InStr ֆունկցիան

Microsoft Excel-ն ունի ներկառուցված ֆունկցիա, որը կոչվում է InStr ֆունկցիա ` տվյալ տողում որոշակի տողերի դիրքը գտնելու համար:

Ընդհանուր շարահյուսություն.

InStr([start], string1, string2, [compare])

Այստեղ,

Փաստարկներ Պահանջվում է/ կամընտիր Սահմանում
սկիզբ Ընտրովի Որոնման մեկնարկային դիրքը:
  • Լռելյայնորեն InStr ֆունկցիան հաշվարկում է նիշերի դիրքը` հաշվելով 1-ից, ոչ թե սկզբնական դիրքից: Այսպիսով, դուք կարող եք դատարկ թողնել, եթե ցանկանում եք:
string1 Պահանջվում է Տողը որոնելու համար, Առաջնային տող:
string2 Պահանջվում է Տողը որոնելու համար առաջնային տողում .
համեմատել Ընտրովի InStr ֆունկցիան լռելյայնորեն զգայուն է մեծատառերի նկատմամբ: Բայց եթե ցանկանում եք գործարկել մեծատառերի անզգայուն InStr , ապա կարող եք փաստարկը փոխանցել այստեղ՝ որոշակի համեմատություն կատարելու համար: Այս փաստարկը կարող է լինել հետևյալըարժեքներ,
  • vbBinaryCompare -> կատարում է երկուական համեմատություն, վերադարձի արժեքը 0
  • vbTextCompare -> կատարում է տեքստի համեմատություն, վերադարձնում է արժեքը 1
  • vbDatabaseCompare -> կատարում է տվյալների բազայի համեմատություն, վերադարձնում է 2 արժեքը

Լռելյայնորեն, InStr -ն ընդունում է vbBinaryCompare որպես համեմատության արգումենտ:

8 Հեշտ օրինակ՝ VBA-ի միջոցով տրված տողում կոնկրետ լարային դիրք գտնելու համար

Տեսնենք մի քանի պարզ օրինակներ՝ տվյալ տողի մեջ որոշակի տողերի դիրքերը ստանալու համար՝ օգտագործելով VBA .

1. VBA՝ տողի մեջ տեքստի դիրքը գտնելու համար

Ստորև բերված է InStr -ի օրինակ՝ գտնելու համար տեքստի դիրքը տողի մեջ:

  • Ստեղնաշարի վրա սեղմեք Alt + F11 կամ գնացեք ներդիր Մշակավոր -> Visual Basic բացելու համար Visual Basic Editor :

  • Բացվող կոդի պատուհանում՝ ընտրացանկի տողից , սեղմեք Տեղադրել -> Մոդուլ .

  • Այժմ կոդի պատուհանում գրեք պարզ InStr ծրագիր VBA Sub-ի ներսում: Ընթացակարգ (տես ստորև):
9928

Ձեր կոդը այժմ պատրաստ է գործարկման:

  • Սեղմեք F5 ձեր ստեղնաշարի վրա կամ ընտրացանկից ընտրեք Գործարկել -> Գործարկեք Sub/UserForm : Կարող եք նաև պարզապես սեղմել փոքր Play պատկերակը ենթամենյուի տողում՝ մակրո գործարկելու համար:

Դուք կտեսնեք, որ թռուցիկ հաղորդագրության տուփը ձեզ կտա համարհայտարարելով տեքստի դիրքը , որը ցանկանում էիք ստուգել:

Բացատրություն.

Մեր հիմնական տողը, « Երջանկություն ընտրություն է »-ը 21 տառանոց նախադասություն է (բացատներով) և մենք ուզում էինք գտնել « ընտրություն » տեքստի դիրքը այդ տողի մեջ: « ընտրություն » տեքստը սկսվում էր առաջնային տողի 16-րդ դիրքից, հետևաբար հաղորդագրության վանդակում ստացանք 16 թիվը:

2. VBA տեքստը կոնկրետ դիրքից String-ում գտնելու համար

Այժմ եկեք պարզենք, թե ինչ կլիներ, եթե մենք ցանկանայինք դիրքը ստանալ որոշակի թվից:

  • Նույն կերպ, ինչպես մինչ այդ բացեք Visual Basic Editor Developer ներդիրից և Տեղադրեք a Module կոդի պատուհանում:
  • In կոդի պատուհանը, գրեք վերևում ցուցադրված պարզ InStr ծրագիր և փոխանցեք արժեքը սկզբնական արգումենտում` ըստ այն դիրքի, որտեղից ցանկանում եք հաշվել ձեր տեքստը:
5850

  • Հաջորդում Գործարկեք կոդը:

Դուք կտեսնեք, որ թռուցիկ հաղորդագրության վանդակը կ տալ ձեզ թիվ, որը հայտարարում է տեքստի դիրքը սկսած որոշակի դիրքից , որը ցանկանում էիք ստուգել:

Բացատրություն.

Ինչպես մենք արդեն գիտեինք (1-ին փուլի քննարկումից), որ « ընտրություն » տեքստը սկսվում էր 16 դիրքից, այնպես որ մենք տեղադրեցինք երկու « choice " հիմնական տողում և սահմանել 17 որպես մեր1-ին պարամետր՝ առաջին « ընտրությունը » բաց թողնելու համար: Այսպիսով, մենք գործարկեցինք վերը նշված մակրոն և այն ցույց տվեց մեզ դիրքի համարը 27 , որը հենց երկրորդ « ընտրություն » դիրքի համարն է: տրված տողում։

3. VBA տառերում մեծատառերի անզգայուն InStr ֆունկցիայով տեքստ գտնելու համար

InStr ֆունկցիայի ներդրումից դուք արդեն գիտեք, որ լռելյայնորեն, InStr ֆունկցիան մեծատառերի զգայուն է: Եկեք դա պարզենք օրինակով:

Տե՛ս հետևյալ VBA կոդը, որտեղ մենք ուզում էինք գտնել « Ընտրություն » բառի դիրքը. « մեծատառով «C» « Երջանկությունը ընտրություն է » տողում, որտեղ ընտրությունը գրված է փոքր «գ» տառով .

  • Գործարկեք կոդը և գտնեք 0 որպես մեր արդյունք:

Դա այն պատճառով է, որ InStr ֆունկցիան տարբեր կերպ է վերաբերվում մեծ «C» և փոքր «c»-ին : Այսպիսով, այն որոնեց « Ընտրություն » բառը տողի մեջ և չստացվեց, ուստի վերադարձրեց 0 :

  • InStr ֆունկցիան տառերի նկատմամբ զգայուն դարձնելու համար, համեմատել արգումենտը սահմանեք vbTextCompare (տես ստորև):
3860

  • Գործարկեք կոդը:

Դուք կստանաք տեքստի դիրքը տողից, անկախ նրանից՝ տեքստը գրված է մեծատառով, թե փոքր տառերով ։

4. VBA՝ տողի աջից տեքստ գտնելու համար։

Մինչ այժմ InStr ֆունկցիան մեզ տալիս էր միայն լարայինի ձախ կողմից դիրքը: Բայց ինչ անել, եթե ցանկանում եք գտնել տեքստի դիրքը տողի աջ կողմից:

InStrRev ֆունկցիան որոնում է աջից: InStrRev ֆունկցիան աշխատում է շատ նման InStr ֆունկցիային, և այն ձեզ կգտնի տեքստի դիրքը տողի աջ կողմից :

Տե՛ս հետևյալ օրինակները՝ տարբերությունը հասկանալու համար:

  • Եթե գործարկենք հետևյալ կոդը InStr ֆունկցիայով, ապա

այն մեզ տալիս է « ընտրություն » առաջին տեքստի դիրքը ( 16 ):

  • Բայց եթե մենք գործարկենք նույն կոդը InStrRev ֆունկցիայի հետ, ապա

այն մեզ տալիս է դիրքը ( 27 ) վերջին տեքստի « ընտրություն »:

Նման ընթերցումներ.

  • FindNext օգտագործելով VBA Excel-ում (2 օրինակ)
  • Ինչպես գտնել և փոխարինել VBA-ի միջոցով (11 եղանակ)
  • Գտեք ճշգրիտ համընկնումը Excel-ում VBA-ի միջոցով (5 եղանակ)

5. VBA տողում նիշի դիրքը գտնելու համար

Դուք կարող եք նաև գտնել որոշակի նիշի դիրքը տողի մեջ այնպես, ինչպես գտել եք տեքստը:

  • Պատճենել Հետևեք կոդը ձեր VBA կոդի պատուհանում
2721

  • Եվ Գործարկեք մակրոն:

Առաջին « e »-ը մեր տրված տողում է.թիվը 7 դիրքը։

6. VBA-ն տողում ենթատող գտնելու համար

Այստեղ մենք կսովորենք, թե ինչպես պարզել, արդյոք տողը պարունակում է ենթատող , թե ոչ:

Դա ստանալու համար մենք ունենք մեր կոդի մեջ IF հայտարարություն գործարկելու համար:

  • Նույն ձևով, ինչպես նախկինում, բացեք Visual Basic Editor Developer ներդիրից և Տեղադրեք Մոդուլ կոդի պատուհանում:
  • Կոդի պատուհանում պատճենեք հետևյալ կոդը և տեղադրեք այն:
5487

Ձեր կոդը այժմ պատրաստ է գործարկման:

  • Գործարկել մակրոն:

Եթե ձեր տողը պարունակում է ենթատող , ապա դուք կստանաք գտնված համընկնում , հակառակ դեպքում այն ​​կվերադարձնի ոչ մի համընկնում: Մեր օրինակում մենք ցանկանում էինք պարզել, թե արդյոք մեր հիմնական տողը « Երջանկությունը ընտրություն է » պարունակում է « ընտրություն » բառը, թե՞ ոչ: Ինչպես և այդպես է, մենք ստանում ենք Գտնված համընկնումը արդյունք:

7. VBA՝ բջիջների տիրույթում տող գտնելու համար

Դուք կարող եք որոնել որոշակի տեքստ տողի բջիջների տիրույթում և վերադարձնել որոշակի տող:

Նայեք հետևյալ օրինակին, որտեղ մենք գտնել « Բժիշկ », և երբ համընկնում է, այն կվերադարձնի « Բժիշկ »:

  • Ստորև բերված է վերը քննարկված արդյունքը ստանալու կոդը,
2523

  • Գործարկել կոդը և արդյունքը ցույց է տրված ստորև

  • Դուք կարող եք փոփոխել մակրոն ըստ ձեր կարիքի: Օրինակ, եթե ցանկանում եքգտնել « Պրոֆ. » տողի ցանկացած բջիջում և ստանալ « Պրոֆեսոր »-ը որպես վերադարձ, ապա պարզապես փոխանցել «<1»> Պրոֆ. » որպես արժեք « Dr »-ի փոխարեն: մակրոյի 4-րդ տողում և մակրոյի 5-րդ տողում « Պրոֆեսոր »-ի փոխարեն՝ « Դոկտոր » և սահմանել համապատասխանաբար բջիջների տիրույթի համարը:

8. VBA՝ բջիջում տող գտնելու համար

Դուք կարող եք նաև որոնել որոշակի տեքստ տողի մեկ բջիջում և վերադարձնել որոշակի տող:

  • Պատճենեք հետևյալ կոդը և տեղադրեք կոդի պատուհանում:
5154

Այն կփնտրի « Dr. » B5 բջիջում և եթե գտնում է համապատասխանությունը, ապա վերադարձնում է « Բժիշկ » C5 բջիջում :

  • Դուք կարող եք փոփոխել մակրոն ըստ ձեր կարիքի: Օրինակ, եթե ցանկանում եք գտնել « Պրոֆ. » տողի ցանկացած բջիջում և ստանալ « Պրոֆեսոր », որպես վերադարձ, այնուհետև պարզապես փոխանցեք « Prof. » որպես արժեք « Dr »-ի փոխարեն: մակրոյի 2-րդ տողում և մակրոյի 3-րդ տողում՝ « Պրոֆեսոր »-ի փոխարեն՝ « Դոկտոր » և սահմանեք համապատասխանաբար բջջի հղման համարը:

Եզրակացություն

Այս հոդվածը ցույց տվեց ձեզ, թե ինչպես գտնել որոշակի տեքստեր տողերում Excel-ում՝ օգտագործելով VBA մակրո: Հուսով եմ, որ այս հոդվածը շատ օգտակար է եղել ձեզ համար: Ազատորեն տվեք ցանկացած հարցի վերաբերյալթեման։

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