VBA om te kontrolearjen as tekenrige in oare tekenrige yn Excel befettet (6 metoaden)

  • Diel Dit
Hugh West

It ymplementearjen fan VBA is de meast effektive, fluchste en feilichste metoade om elke operaasje út te fieren yn Excel. Yn dit artikel sille wy jo sjen litte hoe't jo kontrolearje kinne as in tekenrige in oare tekenrige yn Excel befettet mei VBA .

Download Practice Template

Jo kinne hjir de fergese praktyk Excel-sjabloan downloade.

VBA om te kontrolearjen oft string Value.xlsm befettet

6 metoaden yn VBA om te kontrolearjen as tekenrige in oare tekenrige yn Excel befettet

Hjirûnder yn dizze seksje sille jo 6 effektive metoaden fine oer hoe't jo VBA ymplementearje om te kontrolearjen as in tekenrige in oare tekenrige befettet of net .

1. VBA om te kontrolearjen as tekenrige substring befettet

Hjirûnder is in foarbyld fan de InStr-funksje om te finen oft in tekenrige in substring yn Excel befettet.

Stappen:

  • Druk op Alt + F11 op jo toetseboerd of gean nei it ljepblêd ûntwikkelder -> Visual Basic om Visual Basic Editor te iepenjen.

  • Yn it pop-up koade finster, út de menubalke , klik op Ynfoegje -> Module .

  • Kopieer yn it koadefinster de folgjende koade en plak it.
6753

Jo koade is no klear om te rinnen.

  • Rin de makro.

As jo ​​ string de substring befettet dan krijst in oerienkomst fûn, oars sil it gjin oerienkomst fûn werombringe.

Yn ús foarbyld , wy woene útfine oft úsprimêre tekenrige " Film: Iron Man, Batman, Superman, Spiderman, Thor " befettet it wurd " Hulk " of net. Omdat it net docht, krije wy in Film net fûn resultaat.

2. VBA om te kontrolearjen oft string nûmer befettet

Jo kinne sykje oft tekenrige nûmers befetsje of net troch de VBA -koade te brûken.

Sjoch nei it folgjende foarbyld wêr't wy sil fine hokker strings nûmers befetsje mei de filmnammen.

Stappen om te kontrolearjen oft strings nûmers befetsje mei VBA wurde hjirûnder jûn.

Stappen:

  • Deselde manier as earder, iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Ynfoegje a Module yn it koadefinster.
  • Kopieer yn it koadefinster de folgjende koade en plak it.
3514
  • Dit is net in Subproseduere foar it VBA -programma om te rinnen, dit is it meitsjen fan in User Defined Function (UDF), dy't wy yn ús wurkblêd sille neame om de taak út te fieren. Dus, nei it skriuwen fan de koade, ynstee fan te klikken op de knop Utfiere , klikje jo op de knop Bewarje út de menubalke om it makrobestân op te slaan.
  • Gean no werom. nei it wurkblêd fan belang en skriuw de troch de brûker definieare funksje dy't jo krekt makke hawwe yn 'e VBA -koade ( SearchNumber , yn 'e earste rigel fan 'e koade) en binnen de heakjes fan 'e funksje , ynfiere it selferwizingsnûmer fan 'e sel fan tekenrige dy't liedende nûmers hat (bgl. SelB5 ).
  • Druk op Enter .

Jo krije in Booleaanske wearde ( TRUE of False ), as de tekenrige yn 'e sel nûmers befettet, dan krije jo TRUE , oars FALSE .

  • Sleep de sel nei ûnderen troch Fill Handle om de formule ta te passen op de rest fan de sellen om te kontrolearjen hokker tekenrige sifers befettet en hokker net.

3. VBA om nûmers út 'e string te ekstrahearjen

Yn 'e boppesteande seksje learje wy hoe't jo kinne kontrolearje oft de tekenrige sifers befettet of net. En yn dizze seksje sille wy leare hoe't jo dizze nûmers ekstrahearje en se yn in oare sel pleatse mei it foarbyld hjirûnder.

Stappen om te kontrolearjen oft strings nûmers befetsje en se ekstrahearje mei VBA wurde hjirûnder jûn.

Stappen:

  • Iepenje Visual Basic Editor fanút de Untwikkelder ljepper en Foegje in UserForm dizze kear fan it ljepblêd Ynfoegje yn it koadefinster.
  • Fan de ferskynde Toolbox , sleep en drop CommandButton yn it UserForm .

  • Dûbelklik op de knop, kopiearje de folgjende koade en plakke it.
1553
  • Rin de koade en it bringt jo nei it wurkblêd fan belang.
  • Klik op de Kommandoknop en jo krije it úthelle nûmer út 'e snaren.

4. VBA om te kontrolearjen as string bepaalde letter befettet

Dizze metoade is hastfergelykber mei de metoade foar it kontrolearjen fan substring yn in tekenrige.

Hjirûnder is de funksje InStr om te finen oft in tekenrige in bepaalde letter yn Excel befettet.

Stappen :

  • Deselde manier as earder, iepenje Visual Basic Editor fan it ljepblêd Untwikkelder en Ynfoegje in Module yn it koadefinster.
  • Kopieer yn it koadefinster de folgjende koade en plak dizze.
3182

Jo koade is no klear om te rinnen.

  • It programma útfiere . As jo ​​ string de letter befettet, dan krije jo in oerienkomst fûn, oars sil it gjin oerienkomst fûn weromjaan.

Yn ús foarbyld , woene wy ​​útfine oft ús primêre tekenrige " Movie: Iron Man, Batman, Superman, Spiderman, Thor " de letter " Z befettet " of net. Omdat it net docht, krije wy in Brief net fûn resultaat.

5. VBA om te kontrolearjen as in rige fan tekenrige in oare tekenrige befettet

Wy hawwe leard hoe te kontrolearjen oft in opjûne tekenrige in oare tekenrige befettet of net. Mar yn dizze seksje sille wy leare hoe't jo kinne kontrolearje oft in rige fan stringen substring befettet of net mei de folgjende dataset as foarbyld.

Stappen:

  • Iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Foegje in Module yn it koadefinster .
  • Kopieer yn it koadefinster de folgjende koade en plak it.
1781

Jo koade is no klear omrun.

  • Rin de koade.

As jo berik fan string befettet de substring dan krije jo in oerienkomst fûn, oars sil it gjin oerienkomst fûn werombringe.

6. VBA om Strings út String te ekstrahearjen

Yn dizze seksje sille wy sjen hoe't jo kinne kontrolearje oft stringen bepaalde substrings befetsje en dy yn in oare sel ekstrahearje.

Wy sille de ynformaasje ekstrahearje fan de nammen dy't begjinne mei " Chris " út de folgjende dataset.

Stappen :

  • Iepenje Visual Basic Editor fan it ljepblêd Developer en Foegje in Module yn it koadefinster.
  • Kopieer yn it koadefinster de folgjende koade en plak it.
6546

Jo koade is no klear om te rinnen.

  • Rin de koade.

Allinnich de nammen dy't begjinne mei " Chris " sille wurde opslein yn 'e foarôf definieare sellen.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.