Hoe kinne jo de middenfunksje fan VBA yn Excel brûke (3 foarbylden)

  • Diel Dit
Hugh West

Ien fan 'e wichtichste en meast brûkte funksjes dy't wy brûke by it wurkjen mei VBA yn Excel is de Midfunksje fan VBA . It nimt in tekenrige as de ynfier en jout in opjûn oantal karakters werom út it midden fan de tekenrige as útfier. Hjoed yn dit artikel sil ik jo sjen litte hoe't jo de Midfunksje fan VBA brûke kinne mei goede foarbylden en yllustraasjes.

Dit sil 9 tekens weromjaan fan 'e tekenrige "Angela Catherine Nevills" , begjinnend fan it 8ste karakter. It is “Catherine” .

Download Practice Workbook

Download dit oefenboek om de taak út te oefenjen wylst jo lêze dit artikel.

VBA Mid Function.xlsm

Yntroduksje ta de Midfunksje fan VBA yn Excel

Funksje Doel:

De funksje Mid nimt in wearde as de ynfier en jout in opjûn oantal tekens werom, begjinnend fan in opjûne posysje fan de wearde as de útfier.

De wearde kin in string, getal , of sels in boolean wêze.

As jo ​​bygelyks Mid(“Angela Catherine Nevills”,8,9) ynfoegje, komt it “Catherine” werom.

As jo ​​ Mid(12345,2,3) ynfoegje, krije jo 234.

En ynfoegje Mid(False,2,3) , jo krije als .

Syntaksis:

De syntaksis fan de Mid funksje fan VBA is:

=Mid(String,Start as Long,[Length])

Arguminten:

Argumint Eask / opsjoneel Utlis
String Eask De tekenrige fan dy't in oantal karakters weromjûn wurde.
Start Required It begjinteken fan de tekenrige dy't weromjûn wurdt.
Lingte Opsjoneel It oantal karakters dat weromjûn wurdt. Standert is 1.

Wearde werom:

Jout in opjûn oantal karakters werom út it midden fan in tekenrige, begjinnend fan in opjûne posysje.

3 Foarbylden fan 'e middenfunksje fan VBA yn Excel

Dizze kear, litte wy de Midfunksje<ûndersykje 2> fan VBA yn detail mei in pear foarbylden.

1. In opjûn oantal karakters skieden fan 'e midden fan guon ID's Mei de midfunksje fan VBA yn Excel

Hjir hawwe wy in gegevensset mei de ID's en Nammen fan guon meiwurkers fan in bedriuw mei de namme Saturn Group.

Hjir, de 4e oant 7e karakters fan elk ID jout it oanslutingsjier fan de oanbelangjende meiwurker oan.

No sille wy in User-Defined funksje ûntwikkelje mei de Midfunksje fan VBA dat sil it oanslutingsjier fan elke meiwurker ekstrahearje fan 'e wurknimmer-ID .

Jo kinne de folgjende VBA -koade brûke:

VBA-koade:

3850

Opmerking: Dizze koademakket in funksje oan mei de namme Joining_Year .

Utfier:

Dizze útfiere funksje yn elke sel fan jo wurkblêd mei in ID as argumint.

Hjir, yn sel D4 , hawwe wy de formule ynfierd:

=Joining_Year(B4)

It hat it oanslutingsjier fan de earste meiwurker weromjûn, 2021 .

No kinne jo de slepe Folje Handle om de oanslutingsjierren fan de rest fan de meiwurkers te krijen.

Taljochting fan de Code:

  • Earst ferklearje wy in funksje neamd Joining_Year dy't in ID nimt as de ynfier troch de line Function Joining_Year(ID) .
  • Dan ekstrahearje wy 4 -tekens út it ID begjinnend fan posysje 4 , troch de rigel Joining_Year = Mid(ID, 4, 4) .
  • De rigel Einfunksje ferklearret it ein fan de funksje.

2. De tafoegings fan guon e-mailadressen ekstrahearje mei de middenfunksje fan VBA yn Excel

No hawwe wy in nije kolom tafoege oan de gegevensset, dy't de e-mailadressen fan 'e meiwurkers befettet.

Dizze kear sille wy de útwreidingen fan 'e e-mailadressen ekstrahearje mei de Mid -funksje fan VBA .

De VBA-koade sil wêze:

VBA-koade:

4713

Opmerking: Dizze koade makket in funksje oan mei de namme Extension .

Utfier:

Dizze útfiere funksje yn elke sel fan jo wurkblêd mei in E-postAdres as argumint.

Hjir, yn sel E4 , hawwe wy de formule ynfierd:

=Extension(D4)

It hat de tafoeging fan it earste e-mailadres weromjûn.

Dan kinne jo de Fillhandtak slepe om de tafoegings fan alle e-post út te heljen adressen.

Taljochting fan de koade

  • Earst ferklearje wy in funksje mei de namme Extension dy't elke namme nimt as de ynfier troch de rigel Function Extension(Email_Address) .
  • Dan begjinne wy ​​in iteraasje mei in for-loop dat elk karakter fan it E-postadres kontrolearret om te sjen oft it @ is of net troch de rigel If Mid(Email_Address, i, 1) = "@" Dan .
  • As it in @ fynt, dan ekstrahearret it de fereaske tafoeging út it E-postadres troch de rigel Extension = Mid(Email_Address, i + 1, Len(Email_Address) – (i + 4)) .
  • Uteinlik ferklearje wy it ein fan 'e funksje.

3. Guon teksten kontrolearje om te sjen oft se in spesifike tekst befetsje of net

Ien fan 'e wichtichste gebrûk fan 'e Midfunksje is om te sjen oft in tekst in spesifike tekst befettet of net .

Litte wy in funksje ûntwikkelje om te kontrolearjen oft de E-mailadressen de term “gmail” befetsje of net.

Jo kinne de folgjende
VBA -koade:

VBA-koade:

5589

Opmerking: Dizze koade makket in funksje neamd Kontrolearje .

Utfier:

Dizze funksje útfiere yn elke sel fan jo wurkblêd mei twa teksten as argumint.

Hjir, yn sel E4 , hawwe wy de formule ynfierd:

=Checking(D4,"gmail")

It is ja weromjûn omdat it 1e e-mailadres in Gmail -adres is.

Dan kinne jo de Ful Handle om itselde te dwaan foar alle e-post-ID's.

Taljochting fan de koade:

  • Earst ferklearje wy in funksje mei de namme Kontrôle dy't twa teksten as arguminten nimt troch de rigel Funksjekontrôle(Tekst1,Tekst2) .
  • Dan begjinne wy ​​in for-lus dy't elk segmint fan Tekst1 kontrolearret fanôf posysje 1 , om te sjen oft it lyk is oan Tekst2 of net , troch de rigel As Mid(Tekst1, i, Len(Tekst2)) = Tekst2 Dan .
  • As it Tekst2 fynt, dan jout it "Ja" werom, oars jout it "Nee" werom.
  • Uteinlik slute wy de funksje troch de rigel Einfunksje .

Dingen om te ûnthâlden

  • It 1e argumint fan de Midfunksje hoecht net altyd in tekenrige te wêzen. It kin in string , in getal , of sels in boolean wearde wêze.
  • Mar de 2e en 3e arguminten moatte nûmers wêze. Se kinne hiele getallen of fraksjes wêze, mar moatte getal wêze. As it fraksjes binne, dan is de Midfunksje sil se konvertearje nei de tichtstbyste hiele getallen .

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.