Efnisyfirlit
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.
|
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,
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ð.