Enhavtabelo
Unu el la plej gravaj kaj vaste uzataj funkcioj, kiujn ni uzas laborante kun VBA en Excel, estas la Meza funkcio de VBA . Ĝi prenas ĉenon kiel enigaĵon kaj resendas donitan nombron da signoj de la mezo de la ĉeno kiel eligo. Hodiaŭ en ĉi tiu artikolo, mi montros al vi kiel vi povas uzi la Mez-funkcion de VBA kun taŭgaj ekzemploj kaj ilustraĵoj.
Ĉi tio resendos 9 signojn el la ĉeno “Angela Catherine Nevills” , komencante de la 8a signo. Estas “Catherine” .
Elŝutu Praktikan Laborlibron
Elŝutu ĉi tiun praktiklibron por ekzerci la taskon dum vi legas ĉi tiun artikolon.
VBA Mid Function.xlsm
Enkonduko al la Meza Funkcio de VBA en Excel
⧭ Funkcia celo:
La funkcio Mez prenas valoron kiel la enigo kaj liveras donitan nombron da signoj ekde difinita pozicio de la valoro kiel eligo.
La valoro povas esti ĉeno, nombro aŭ eĉ bulea .
Ekzemple, se vi enmetas Mezon(“Angela Catherine Nevills”,8,9), ĝi resendos “Catherine” .
Se vi enmetas Mid(12345,2,3) , vi ricevos 234.
Kaj enigu Mid(False,2,3) , vi ricevos als .
⧭ Sintakso:
La Sintakso de la Mezo funkcio de VBA estas:
=Mid(String,Start as Long,[Length])
⧭ Argumentoj:
Argumento | Bezonata/Laŭvola | Klarigo |
---|---|---|
String | Bezonata | La ĉeno de kiu nombro da signoj estos redonitaj. |
Komenco | Bezonata | La komenca signo de la ĉeno kiu estos resendita. |
Longo | Laŭvola | La nombro de signoj kiuj estos redonitaj. Defaŭlte estas 1. |
⧭ Redona valoro:
Redonas difinitan nombron da signoj de la mezo de ŝnuro, komencante de donita pozicio.
3 Ekzemploj de la Meza Funkcio de VBA en Excel
Ĉi-foje, ni esploru la Mezan funkcion de VBA detale kun kelkaj ekzemploj.
1. Apartigante donitan nombron da signoj de la mezo de iuj identigiloj uzante la mezan funkcion de VBA en Excel
Ĉi tie ni havas datuman aron kun la identigiloj kaj Nomoj de kelkaj dungitoj de firmao nomata Saturn Group.
Jen, la 4a ĝis 7a signoj de ĉiu ID indikas la aliĝan jaron de la respektiva dungito.
Nun ni disvolvos Uzant-Difinitan funkcion uzante la Mezan funkcion de VBA tio eltiros la aliĝan jaron de ĉiu dungito el la Dungito-ID .
Vi povas uzi la jenan VBA -kodon:
⧭ VBA-Kodo:
5666
Noto: Ĉi tiu kodokreas funkcion nomitan Aliĝo_Jaro .
⧭ Eligo:
Ruli ĉi tion funkcio en iu ajn ĉelo de via laborfolio kun identigilo kiel argumento.
Ĉi tie, en ĉelo D4 , ni enigis la formulon:
=Joining_Year(B4)
Ĝi redonis la aliĝan jaron de la unua dungito, 2021 .
Nun vi povas treni la Plenigu Tenilon por akiri la aliĝajn jarojn de la ceteraj dungitoj.
⧭ Klarigo de la Kodo:
- Unue, ni deklaras funkcion nomitan Jaro_Aliĝo kiu prenas ID kiel la enigo per la linio Funkcio Jaro_Aliĝo(ID) .
- Tiam ni ĉerpas 4 signojn el la ID komencante de pozicio 4 , per la linio Kuniĝo_Jaro = Mid(ID, 4, 4) .
- La linio Finfunkcio deklaras la finon de la funkcio.
2. Ĉerpi la Etendaĵojn el Kelkaj Retpoŝtaj Adresoj Uzante la Mezan Funkcion de VBA en Excel
Nun ni aldonis novan kolumnon al la datumaro, kiu enhavas la Retpoŝtajn adresojn de la dungitoj.
Ĉi-foje ni ĉerpos la etendaĵojn de la Retpoŝtadresoj uzante la funkcion Meza de VBA .
La VBA-kodo estos:
⧭ VBA-kodo:
1295
Noto: Ĉi tiu kodo kreas funkcion nomatan Etendaĵo .
⧭ Eligo:
Ruli ĉi tion funkcio en iu ajn ĉelo de via laborfolio kun RetpoŝtoAdreso kiel argumento.
Ĉi tie, en ĉelo E4 , ni enigis la formulon:
=Extension(D4)
Ĝi redonis la etendon de la unua retpoŝtadreso.
Tiam vi povas treni la Plenigi Tenilon por eltiri la etendaĵojn de ĉiuj retpoŝtoj. adresoj.
⧭ Klarigo de la Kodo
- Unue, ni deklaras funkcion nomatan Etendaĵo kiu prenas ajnan nomon kiel la enigaĵon per la linio Funkcia Etendaĵo(Retpoŝta_adreso) .
- Tiam ni komencas ripeton per por-buklo kiu kontrolas ĉiun signon de la Retpoŝtadreso por vidi ĉu ĝi estas @ aŭ ne per la linio Se Meze (Retpoŝtadreso, i, 1) = “@” Tiam .
- Se ĝi trovas @ , tiam ĝi ĉerpas la bezonatan etendon el la Retpoŝtadreso per la linio Etendaĵo = Mid(Retpoŝta_Adreso, i + 1, Len(Retpoŝta_Adreso) – (i + 4)) .
- Fine, ni deklaras la finon de la funkcio.
3. Kontroli Kelkajn Tekstojn por Vidi ĉu ili enhavas specifan tekston aŭ ne
Unu el la plej gravaj uzoj de la Meza funkcio estas vidi ĉu teksto enhavas specifan tekston aŭ ne. .
Ni disvolvu funkcion por kontroli ĉu la Retadresoj enhavas la terminon “gmail” aŭ ne.
Vi povas uzi la jenan VBA -kodo:
⧭ VBA-kodo:
6411
Noto: Ĉi tiu kodo kreas funkcion vokis Kontrolado .
⧭ Eligo:
Ruli ĉi tiun funkcion en iu ajn ĉelo de via laborfolio kun du tekstoj kiel argumento.
Ĉi tie, en ĉelo E4 , ni enigis la formulon:
=Checking(D4,"gmail")
Ĝi revenis jes ĉar la 1-a retadreso estas Gmail adreso.
Tiam vi povas treni la Plenigu Tenilon por fari la samon por ĉiuj Retpoŝtaj identigiloj.
⧭ Klarigo de la Kodo:
- Unue, ni deklaras funkcion nomitan Kontrolado kiu prenas du tekstojn kiel la argumentojn per la linio Funkcia Kontrolado(Teksto1,Teksto2) .
- Tiam ni komencas for-buklon kiu kontrolas ĉiun segmenton de Teksto1 ekde pozicio 1 , por vidi ĉu ĝi estas egala al Teksto2 aŭ ne. , per la linio Se Mid(Teksto1, i, Len(Teksto2)) = Teksto2 Tiam .
- Se ĝi trovas Teksto2 , tiam ĝi resendas “Jes” , alie ĝi resendas “Ne” .
- Fine, ni konkludas la funkcion per la linio Finfunkcio .
Aferoj por Memori
- La 1a argumento de la Meza funkcio ne devas esti ĉiam ĉeno. Ĝi povas esti ĉeno , nombro aŭ eĉ bulea valoro.
- Sed la dua kaj 3a argumentoj devas esti nombroj . Ili povas esti entjeroj aŭ frakcioj sed devas esti nombroj . Se ili estas frakcioj , tiam la Mezofunkcio konvertos ilin al la plej proksimaj entjeroj .