Hvernig á að finna streng með VBA í Excel (8 dæmi)

  • Deildu Þessu
Hugh West

Að innleiða VBA er áhrifaríkasta, fljótlegasta og öruggasta aðferðin til að keyra hvaða aðgerð sem er í Excel. Í þessari grein munum við sýna þér hvernig á að finna ákveðna strengi í öðrum tilteknum streng með VBA í Excel.

Hlaða niður æfingasniðmáti

Þú getur sótt ókeypis Excel sniðmátið héðan.

VBA til að finna í String.xlsm

InStr aðgerð

Microsoft Excel er með innbyggt fall sem kallast InStr aðgerðin til að finna staðsetningu ákveðinna strengja í tilteknum streng.

Almenn setningafræði:

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

Hér,

Rök Áskilið/valfrjálst Skilgreining
byrjun Valfrjálst Upphafsstaða leitarinnar.
  • Sjálfgefið er að InStr aðgerðin reiknar út stöðu stafa með því að telja frá 1, ekki frá upphafsstöðu. Svo þú getur skilið þetta eftir autt ef þú vilt.
streng1 Áskilið Strenginn til að leita í, Aðalstrengur.
streng2 Áskilið Strenginn sem leitar að í aðalstrengnum .
samanburður Valfrjálst InStr aðgerðin er sjálfgefið hástöfum. En ef þú vilt keyra mál sem er óviðkvæmt InStr , þá geturðu sent rökin hér til að framkvæma ákveðinn samanburð. Þessi rök geta verið eftirfarandigildi,
  • vbBinaryCompare -> framkvæmir tvíundarsamanburð, skilar gildi 0
  • vbTextCompare -> framkvæmir textasamanburð, skilar gildi 1
  • vbDatabaseCompare -> framkvæmir gagnagrunnssamanburð, skilar gildi 2

Sjálfgefið er að InStr tekur vbBinaryCompare sem samanburðarrök.

8 auðveld dæmi til að finna ákveðna strengjastöðu í tilteknum streng með því að nota VBA

Sjáum nokkur einföld dæmi til að fá stöðu ákveðinna strengja í tilteknum streng með því að nota VBA .

1. VBA til að finna staðsetningu texta í streng

Hér að neðan er dæmi um InStr til að finna staðsetningu texta í streng.

  • Ýttu á Alt + F11 á lyklaborðinu þínu eða farðu í flipann Hönnuði -> Visual Basic til að opna Visual Basic Editor .

  • Í sprettiglugganum, frá valmyndastikunni , smelltu á Setja inn -> Module .

  • Nú í kóðaglugganum, skrifaðu einfalt InStr forrit inni í VBA Sub Aðferð (sjá hér að neðan).
3418

Kóðinn þinn er nú tilbúinn til að keyra.

  • Ýttu á F5 á lyklaborðinu þínu eða á valmyndastikunni veldu Run -> Keyra Sub/UserForm . Þú getur líka bara smellt á litla spilunartáknið í undirvalmyndastikunni til að keyra fjölva.

Þú munt sjá að sprettigluggaskilaboðabox gefur þér númerlýsa yfir staðsetningu textans sem þú vildir athuga.

Skýring:

Aðalstrengurinn okkar, „ Happiness er val ” er 21 stafa setning (með bilum) og við vildum finna staðsetningu textans “ val ” í þeim streng. Textinn „ val “ byrjaði á 16. stöðu aðalstrengsins, þess vegna fengum við númerið 16 sem úttak okkar í skilaboðareitnum.

2. VBA til að finna texta úr ákveðinni stöðu í streng

Nú skulum við komast að því hvað myndi gerast ef við vildum fá stöðuna úr ákveðnu númeri.

  • Á sama hátt og áður, opnaðu Visual Basic Editor á flipanum Developer og Settu inn module í kóðaglugganum.
  • Í kóðagluggann, skrifaðu einfalt InStr forrit sem sýnt er hér að ofan og sendu gildið í upphafsrökinu í samræmi við stöðuna sem þú vilt telja textann þinn frá.
6643

  • Næst, Keyra kóðann.

Þú munt sjá að sprettigluggaskilaboðin munu gefðu þér númer sem lýsir yfir staðsetningu textans byrjar frá ákveðinni stöðu sem þú vildir athuga.

Skýring:

Eins og við vissum þegar (af 1. áfanga umræðunni) að textinn „ val “ byrjaði á stöðunni 16 , svo við settum inn tvö „ val “ í aðalstrengnum og stilltu 17 sem okkarFyrsta færibreytan til að sleppa fyrsta „ val “. Þannig að við keyrðum fjölvi hér að ofan og hún sýndi okkur stöðunúmer 27 sem er nákvæmlega stöðunúmer annar val “ í tilteknum streng.

3. VBA til að finna texta með hástöfum-ónæmir InStr aðgerð í String

Frá kynningu á InStr aðgerðinni veistu nú þegar að sjálfgefið er InStr aðgerðin er hástafaviðkvæmur. Við skulum komast að því með dæmi.

Sjá eftirfarandi VBA kóða, þar sem við vildum finna staðsetningu orðsins „ Val ” með stöfum „C“ í strengnum „ Happiness is a choice “ þar sem val er skrifað með litlu „c“ .

  • Keyddu kóðann og finndu 0 sem úttak okkar.

Það er vegna þess að InStr fallið meðhöndlar höfuðstafina „C“ og litla „c“ öðruvísi. Svo það leitaði að orðinu „ Choice “ í strengnum og fékk enga samsvörun, svo skilaði 0 .

  • Til að gera InStr fallið hástafaónæmir skaltu stilla samanburðarröksemdina á vbTextCompare (sjá hér að neðan).
6197

  • Keyra kóðann.

Þú færð stöðu textans úr strengnum, hvort sem textinn er skrifaður með stöfum eða litlum stöfum .

4. VBA til að finna texta hægra megin á streng

Hingað til var InStr fallið aðeins að gefa okkur stöðuna frá vinstri hlið strengsins. En hvað ef þú vilt finna textastöðuna hægra megin á strengnum.

InStrRev aðgerðin leitar frá hægri. InStrRev aðgerðin virkar mjög svipað og InStr aðgerðin og hún finnur þér staðsetningu texta frá hægri hlið strengsins.

Sjáðu eftirfarandi dæmi til að skilja muninn.

  • Ef við keyrum eftirfarandi kóða með InStr fallinu þá,

það gefur okkur stöðuna ( 16 ) fyrsta textans " val ".

  • En ef við keyrum sama kóða með InStrRev aðgerðinni þá,

gefur það okkur stöðuna ( 27 ) í síðasta texta “ val ”.

Svipuð lesning:

  • FindNext með VBA í Excel (2 dæmi)
  • Hvernig á að finna og skipta út með VBA (11 leiðir)
  • Finndu nákvæma samsvörun með því að nota VBA í Excel (5 leiðir)

5. VBA til að finna staðsetningu stafs í streng

Þú getur líka fundið staðsetningu ákveðins stafs í streng á sama hátt og þú fann texta.

  • Afritaðu eftirfarandi kóða inn í VBA kóðagluggann þinn
8117

  • Og Keyra fjölva.

Fyrsta „ e “ í strengnum okkar er kl.númerið 7 staðan.

6. VBA til að finna undirstreng í streng

Hér munum við læra hvernig á að finna hvort strengur inniheldur undirstreng eða ekki.

Til að fá það höfum við til að keyra IF yfirlýsingu í kóðanum okkar.

  • Á sama hátt og áður, opnaðu Visual Basic Editor frá Developer flipanum og Settu inn einingu í kóðagluggann.
  • Í kóðaglugganum skaltu afrita eftirfarandi kóða og líma hann.
2553

Þitt Kóðinn er nú tilbúinn til að keyra.

  • Keyra fjölva.

Ef strengurinn þinn inniheldur undirstrenginn þá færðu samsvörun fundust , annars skilar hann engri samsvörun. Í dæminu okkar vildum við komast að því hvort aðalstrengurinn okkar „ Happiness is a choice “ inniheldur orðið „ val “ eða ekki. Eins og það gerist fáum við Match found niðurstöðu.

7. VBA til að finna streng í hólfsviði

Þú getur leitað að ákveðnum texta í hólfasviði strengs og skilað ákveðnum streng.

Sjáðu eftirfarandi dæmi þar sem við munum finndu „ Dr. “ og þegar það er samsvörun mun það skila „ Læknir “.

  • Hér að neðan er kóðinn til að fá niðurstöðuna sem fjallað er um hér að ofan,
1447

  • Keyra kóða og niðurstaðan er sýnd hér að neðan

  • Þú getur breytt fjölvi eftir þörfum þínum. Til dæmis, ef þú vilttil að finna " Prof. " í hvaða streng sem er, og fá " Professor " sem skil, sendu þá einfaldlega " Prof. “ sem gildi í stað „ Dr .“ í 4. línu makrósins og „ Professor “ í stað „ Læknir “ í 5. línu makrósins og skilgreinið frumusviðsnúmer í samræmi við það.

8. VBA til að finna streng í hólf

Þú getur líka leitt að ákveðnum texta í einum streng af streng og skilað ákveðnum streng.

  • Afritu eftirfarandi kóða og límdu hann inn í kóðagluggann.
8977

Það mun leita að " Dr. ” í Hólf B5 og ef það finnur samsvörun þá skilar „ Læknir “ í C5 .

  • Þú getur breytt fjölvi eftir þörfum þínum. Til dæmis, ef þú vilt finna „ Prof. “ í hvaða streng sem er og fá „ Professor “ sem skil, sendu síðan einfaldlega „ Prof. “ sem gildi í stað „ Dr .“ í 2. línu makrósins og „ Professor “ í stað „ Læknir “ í 3. línu makrósins og skilgreinið frumviðmiðunarnúmer í samræmi við það.

Niðurstaða

Þessi grein sýndi þér hvernig á að finna ákveðna texta í streng í Excel með VBA fjölvi. Ég vona að þessi grein hafi verið þér mjög gagnleg. Ekki hika við að spyrja spurninga varðandiumræðuefnið.

Hugh West er mjög reyndur Excel þjálfari og sérfræðingur með yfir 10 ára reynslu í greininni. Hann er með BA gráðu í bókhaldi og fjármálum og meistaragráðu í viðskiptafræði. Hugh hefur ástríðu fyrir kennslu og hefur þróað einstaka kennsluaðferð sem auðvelt er að fylgja eftir og skilja. Sérfræðiþekking hans á Excel hefur hjálpað þúsundum nemenda og fagfólks um allan heim að bæta færni sína og skara fram úr í starfi. Í gegnum bloggið sitt deilir Hugh þekkingu sinni með heiminum og býður upp á ókeypis Excel námskeið og netþjálfun til að hjálpa einstaklingum og fyrirtækjum að ná fullum möguleikum.