Indholdsfortegnelse
En af de vigtigste og mest udbredte funktioner, som vi bruger, når vi arbejder med VBA i Excel er den Midtfunktion på VBA Den tager en streng som input og returnerer et givet antal tegn fra midten af strengen som output. I dag i denne artikel vil jeg vise dig, hvordan du kan bruge Midtfunktion på VBA med gode eksempler og illustrationer.
Dette vil give 9 tegn fra strengen "Angela Catherine Nevills" , med udgangspunkt i den 8. karakter. Det er "Catherine" .
Download arbejdsbog til øvelser
Download denne øvelsesbog for at øve dig i opgaven, mens du læser denne artikel.
VBA Mid Function.xlsmIntroduktion til Mid-funktionen i VBA i Excel
⧭ Funktion Målsætning:
Midt på funktionen tager en værdi som input og returnerer et givet antal tegn fra en given position i værdien som output.
Værdien kan være en streng, tal , eller endda en boolean .
Hvis du f.eks. indsætter Mid("Angela Catherine Nevills",8,9), det vil give "Catherine" .
Hvis du indsætter Mid(12345,2,3) , får du 234.
Og indsæt Mid(Falsk,2,3) , får du als .
⧭ Syntaks:
Syntaksen for den Midtfunktion på VBA er:
=Mid(String,Start som lang,[Længde])
⧭ Argumenter:
Argument | Krævet / valgfri | Forklaring |
---|---|---|
String | Påkrævet | Den streng, hvorfra der returneres et antal tegn. |
Start | Påkrævet | Starttegnet i den streng, der returneres. |
Længde | Valgfrit | Antallet af tegn, der returneres. Standard er 1. |
⧭ Returneringsværdi:
Returnerer et givent antal tegn fra midten af en streng, startende fra en given position.
3 eksempler på Mid-funktionen i VBA i Excel
Denne gang skal vi udforske den Midtfunktion på VBA i detaljer med et par eksempler.
1. Adskillelse af et givent antal tegn fra midten af nogle ID'er ved hjælp af Mid-funktionen i VBA i Excel
Her har vi et datasæt med ID'er og Navne af nogle medarbejdere i en virksomhed ved navn Saturn Group.
Her er det 4. til 7. i hvert ID angiver den pågældende medarbejders tiltrædelsesår.
Nu vil vi udvikle en Brugerdefineret funktion ved hjælp af Midtfunktion på VBA der uddrager hver medarbejders tiltrædelsesår fra Medarbejder-id .
Du kan bruge følgende VBA kode:
⧭ VBA-kode:
Funktion Sammenføjning_år(ID) Sammenføjning_år = Mid(ID, 4, 4) Slutfunktion
Bemærk: Denne kode opretter en funktion kaldet Tiltrædelsesår .
⧭ Output:
Kør denne funktion i en vilkårlig celle i dit regneark med et ID som argument.
Her, i celle D4 , har vi indtastet formlen:
=Sammenlægningsår(B4)
Den har returneret den første ansattes tiltrædelsesår, 2021 .
Nu kan du trække den Håndtag til påfyldning for at få oplyst de øvrige ansattes optjeningsår.
⧭ Forklaring af kodeksen:
- Først erklærer vi en funktion kaldet Tiltrædelsesår der tager et ID som input ved hjælp af linjen Funktion Sammenføjning_år(ID) .
- Derefter uddrager vi 4 tegn fra ID'et fra og med position 4 , ved linjen Sammenføjning_år = Mid(ID, 4, 4) .
- Linjen Slutfunktion angiver, at funktionen er afsluttet.
2. Udtrække udvidelser fra nogle e-mail-adresser ved hjælp af Mid-funktionen i VBA i Excel
Nu har vi tilføjet en ny kolonne til datasættet, som indeholder de ansattes e-mailadresser.
Denne gang vil vi udtrække udvidelserne af e-mail-adresserne ved hjælp af Midt på funktion af VBA .
VBA-kode vil være:
⧭ VBA-kode:
Function Extension(Email_Address) For i = 1 To Len(Email_Address) If Mid(Email_Address, i, 1) = "@" Then Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) End If Next i End Function
Bemærk: Denne kode opretter en funktion kaldet Udvidelse .
⧭ Output:
Kør denne funktion i en celle i et regneark med en E-mail-adresse som argument.
Her, i celle E4 , har vi indtastet formlen:
=Udvidelse(D4)
Den har returneret udvidelsen af den første e-mail-adresse.
Derefter kan du trække den Håndtag til påfyldning for at udtrække alle e-mail-adressernes filtypenavne.
⧭ Forklaring af kodeksen
- Først erklærer vi en funktion kaldet Udvidelse der tager et vilkårligt navn som input ved hjælp af linjen Funktion Udvidelse(Email_adresse) .
- Derefter starter vi en iteration med en for-loop der kontrollerer hvert tegn i E-mail-adresse for at se, om det er @ eller ikke ved linjen Hvis Mid(Email_Address, i, 1) = "@" Derefter .
- Hvis den finder en @ , så uddrager den den ønskede udvidelse fra E-mail-adresse ved linjen Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
- Til sidst angiver vi, at funktionen er slut.
3. Kontrol af nogle tekster for at se, om de indeholder en bestemt tekst eller ej
En af de vigtigste anvendelser af Midtfunktion er at se, om en tekst indeholder en bestemt tekst eller ej.
Lad os udvikle en funktion til at kontrollere, om E-mail-adresser indeholder udtrykket "gmail" eller ej.
Du kan bruge følgende VBA kode:
⧭ VBA-kode:
Funktion Kontrol(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2))) = Text2 Then Kontrol = "Ja" Exit For Else Kontrol = "Nej" End If Next i End Function
Bemærk: Denne kode opretter en funktion kaldet Kontrol af .
⧭ Output:
Kør denne funktion i en vilkårlig celle i dit regneark med to tekster som argument.
Her, i celle E4 , har vi indtastet formlen:
=Kontrol(D4, "gmail")
Den er vendt tilbage ja fordi den 1. e-mail-adresse er en Gmail adresse.
Derefter kan du trække den Håndtag til påfyldning for at gøre det samme for alle e-mail-id'er.
⧭ Forklaring af kodeksen:
- Først erklærer vi en funktion kaldet Kontrol af der tager to tekster som argumenter ved hjælp af linjen Funktion Kontrol(Tekst1,Tekst2) .
- Derefter starter vi en for-løkke, der kontrollerer hvert segment af Tekst1 ud fra position 1 , for at se, om den er lig med Tekst2 eller ej, ved linjen Hvis Mid(Text1, i, Len(Text2)) = Text2 Derefter .
- Hvis den finder Tekst2 , så returnerer den "Ja" , ellers returnerer den "Nej" .
- Endelig afslutter vi funktionen med linjen Slutfunktion .
Ting at huske
- 1. argumentet i den Midtfunktion behøver ikke altid at være en streng, det kan være en streng , a nummer , eller endda en boolean værdi.
- Men den 2. og 3. argumenter skal være numre . de kan være hele tal eller brøker men skal være numre . hvis de er brøker , så er den Midtfunktion omregner dem til den nærmeste hele tal .