Innholdsfortegnelse
En av de viktigste og mest brukte funksjonene som vi bruker når vi jobber med VBA i Excel, er Mid-funksjonen til VBA . Den tar en streng som input og returnerer et gitt antall tegn fra midten av strengen som utdata. I dag i denne artikkelen skal jeg vise deg hvordan du kan bruke Mid-funksjonen til VBA med riktige eksempler og illustrasjoner.
Dette vil returnere 9 tegn fra strengen “Angela Catherine Nevills” , med start fra 8. tegnet. Det er “Catherine” .
Last ned øvelsesarbeidsbok
Last ned denne øvelsesboken for å utføre oppgaven mens du leser denne artikkelen.
VBA Mid Function.xlsm
Introduksjon til Mid-funksjonen til VBA i Excel
⧭ Funksjonsmål:
Mid -funksjonen tar en verdi som inngang og returnerer et gitt antall tegn fra en gitt posisjon av verdien som utdata.
Verdien kan være en streng, tall eller til og med en boolsk .
For eksempel, hvis du setter inn Mid(“Angela Catherine Nevills”,8,9), vil det returnere “Catherine” .
Hvis du setter inn Mid(12345,2,3) , får du 234.
Og setter inn Mid(False,2,3) , du får als .
⧭ Syntaks:
The Syntax of the Mid funksjon til VBA er:
=Mid(String,Start as Long,[Length])
⧭ Argumenter:
Argument | Obligatorisk / Valgfritt | Forklaring |
---|---|---|
String | Obligatorisk | Strengen fra som et antall tegn vil bli returnert. |
Start | Obligatorisk | Starttegnet til strengen som skal returneres. |
Lengde | Valgfritt | Antall tegn som vil bli returnert. Standard er 1. |
⧭ Returverdi:
Returnerer et gitt antall tegn fra midten av en streng, med utgangspunkt i en gitt posisjon.
3 eksempler på midtfunksjonen til VBA i Excel
La oss denne gangen utforske Mid-funksjonen av VBA i detalj med noen få eksempler.
1. Skille et gitt antall tegn fra midten av noen ID-er ved å bruke Mid-funksjonen til VBA i Excel
Her har vi et datasett med ID-ene og Navn på noen ansatte i et selskap som heter Saturn Group.
Her er 4. til 7. tegn for hver ID angir tiltredelsesåret for den respektive ansatte.
Nå skal vi utvikle en Brukerdefinert funksjon ved å bruke Mid-funksjonen til VBA som vil trekke ut tiltredelsesåret for hver ansatt fra medarbeider-ID .
Du kan bruke følgende VBA -kode:
⧭ VBA-kode:
1497
Merk: Denne kodenoppretter en funksjon kalt Bislutningsår .
⧭ Utdata:
Kjør dette funksjon i hvilken som helst celle i regnearket med en ID som argument.
Her, i celle D4 , har vi skrevet inn formelen:
=Joining_Year(B4)
Det har returnert tiltredelsesåret for den første ansatte, 2021 .
Nå kan du dra Fyll håndtak for å få tiltredelsesårene til resten av de ansatte.
⧭ Forklaring av koden:
- Først erklærer vi en funksjon kalt Bislutningsår som tar en ID som input fra linjen Funksjon Joining_Year(ID) .
- Deretter trekker vi ut 4 tegn fra ID-en fra posisjon 4 , ved linjen Joining_Year = Mid(ID, 4, 4) .
- Linjen End Function erklærer slutten av funksjonen.
2. Trekk ut utvidelsene fra noen e-postadresser ved å bruke midtfunksjonen til VBA i Excel
Nå har vi lagt til en ny kolonne i datasettet, som inneholder e-postadressene til de ansatte.
Denne gangen trekker vi ut utvidelsene til e-postadressene ved å bruke Mid -funksjonen til VBA .
VBA-kode vil være:
⧭ VBA-kode:
7889
Merk: Denne koden oppretter en funksjon kalt Utvidelse .
⧭ Utdata:
Kjør dette funksjon i hvilken som helst celle i regnearket med en e-postAdresse som argument.
Her, i celle E4 , har vi skrevet inn formelen:
=Extension(D4)
Den har returnert utvidelsen til den første e-postadressen.
Deretter kan du dra Fyllhåndtaket for å trekke ut utvidelsene til all e-posten adresser.
⧭ Forklaring av koden
- Først erklærer vi en funksjon kalt Utvidelse som tar et hvilket som helst navn som inndata fra linjen Funksjonsutvidelse(Email_Address) .
- Deretter starter vi en iterasjon med en for-løkke som sjekker hvert tegn i E-postadressen for å se om det er @ eller ikke ved linjen Hvis Mid(Email_Address, i, 1) = "@" Da .
- Hvis den finner en @ , trekker den ut den nødvendige utvidelsen fra E-postadressen ved linjen Extension = Mid(Email_Address, i + 1, Len(Email_Address) – (i + 4)) .
- Til slutt erklærer vi slutten på funksjonen.
3. Sjekke noen tekster for å se om de inneholder en bestemt tekst eller ikke
En av de viktigste bruksområdene for Mid-funksjonen er å se om en tekst inneholder en bestemt tekst eller ikke .
La oss utvikle en funksjon for å sjekke om e-postadressene inneholder begrepet “gmail” eller ikke.
Du kan bruke følgende VBA -kode:
⧭ VBA-kode:
8650
Merk: Denne koden lager en funksjon kalt Sjekker .
⧭ Utdata:
Kjør denne funksjonen i en hvilken som helst celle i regnearket med to tekster som argument.
Her, i celle E4 , har vi skrevet inn formelen:
=Checking(D4,"gmail")
Den har returnert ja fordi den første e-postadressen er en Gmail -adresse.
Deretter kan du dra Fyll håndtak for å gjøre det samme for alle e-post-ID-ene.
⧭ Forklaring av koden:
- Først erklærer vi en funksjon kalt Sjekker som tar to tekster som argumenter ved linjen Funksjonskontroll(Tekst1,Tekst2) .
- Deretter starter vi en for-løkke som sjekker hvert segment av Tekst1 fra posisjon 1 , for å se om det er lik Tekst2 eller ikke , ved linjen If Mid(Text1, i, Len(Text2)) = Text2 Then .
- Hvis den finner Tekst2 , returnerer den “Ja” , ellers returnerer den “Nei” .
- Til slutt avslutter vi funksjonen med linjen End Function .
Ting å huske
- Argumentet 1. til Mid-funksjonen trenger ikke alltid være en streng. Det kan være en streng , et tall eller til og med en boolsk verdi.
- Men 2. og 3. argumenter må være tall . De kan være heltall eller brøker , men må være tall . Hvis de er brøker , er Midfunksjon vil konvertere dem til nærmeste heltall .