Inhoudsopgave
Een van de belangrijkste en meest gebruikte functies die we gebruiken tijdens het werken met VBA in Excel is de Middenfunctie van VBA Het neemt een string als invoer en geeft een bepaald aantal karakters uit het midden van de string als uitvoer. Vandaag in dit artikel laat ik zien hoe je de Middenfunctie van VBA met goede voorbeelden en illustraties.
Dit zal 9 tekens van de string "Angela Catherine Nevills" , uitgaande van de 8e karakter. Het is "Catherine" .
Download Praktijk Werkboek
Download dit oefenboek om de taak te oefenen terwijl u dit artikel leest.
VBA Mid-functie.xlsmInleiding tot de Mid-functie van VBA in Excel
⧭ Functie Doelstelling:
De Midden functie neemt een waarde als invoer en geeft als uitvoer een bepaald aantal tekens vanaf een bepaalde positie van de waarde.
De waarde kan een string, getal of zelfs een booleaanse .
Als u bijvoorbeeld Mid("Angela Catherine Nevills",8,9), het zal terugkeren "Catherine" .
Als u Mid(12345,2,3) , krijg je 234.
En plaats Mid(False,2,3) , krijg je als .
⧭ Syntax:
De syntaxis van de Middenfunctie van VBA is:
=Mid(String,Start as Long,[Length])
⧭ Argumenten:
Argument | Verplicht / Facultatief | Uitleg |
---|---|---|
String | Vereist | De tekenreeks waarvan een aantal karakters wordt teruggegeven. |
Start | Vereist | Het beginteken van de string die wordt teruggegeven. |
Lengte | Optioneel | Het aantal karakters dat wordt teruggestuurd. Standaard is 1. |
⧭ Return Value:
Geeft een opgegeven aantal tekens terug uit het midden van een tekenreeks, beginnend bij een opgegeven positie.
3 Voorbeelden van de Mid-functie van VBA in Excel
Laten we deze keer de Middenfunctie van VBA in detail met enkele voorbeelden.
1. Een gegeven aantal tekens scheiden van het midden van sommige ID's met behulp van de Mid-functie van VBA in Excel
Hier hebben we een dataset met de ID's en Namen van enkele werknemers van een bedrijf genaamd Saturn Group.
Hier is de 4e naar 7e De tekens van elk ID geven het jaar van indiensttreding van de betrokken werknemer aan.
Nu zullen we een Door de gebruiker gedefinieerde functie met behulp van de Middenfunctie van VBA die het toetredingsjaar van elke werknemer uit de Werknemer ID .
U kunt het volgende gebruiken VBA code:
⧭ VBA-code:
Functie Verbinding_Jaar(ID) Verbinding_Jaar = Mid(ID, 4, 4) Einde Functie
Let op: Deze code creëert een functie genaamd Aansluiting_Jaar .
⧭ Uitgang:
Voer deze functie uit in een willekeurige cel van uw werkblad met een ID als argument.
Hier, in cel D4 hebben we de formule ingevoerd:
=Jaar van toetreding(B4)
Het heeft het toetredingsjaar van de eerste werknemer teruggegeven, 2021 .
Nu kunt u de Vulgreep om de toetredingsjaren van de rest van de werknemers te krijgen.
⧭ Verklaring van de code:
- Eerst declareren we een functie genaamd Aansluiting_Jaar die een ID als invoer neemt door de regel Functie Joining_Year(ID) .
- Dan halen we 4 tekens van de ID vanaf positie 4 door de lijn Joining_Year = Mid(ID, 4, 4) .
- De lijn Einde functie verklaart het einde van de functie.
2. Extensies uit bepaalde e-mailadressen halen met de Mid-functie van VBA in Excel
Nu hebben we een nieuwe kolom toegevoegd aan de gegevensset, die de e-mailadressen van de werknemers bevat.
Deze keer halen we de extensies van de e-mailadressen eruit met behulp van de Midden functie van VBA .
De VBA-code zal zijn:
⧭ VBA-code:
Functie Uitbreiding(Email_Address) Voor i = 1 Tot Len(Email_Address) Als Mid(Email_Address, i, 1) = "@" Dan Uitbreiding = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) End If Volgende i Einde Functie
Let op: Deze code creëert een functie genaamd Uitbreiding .
⧭ Uitgang:
Voer deze functie uit in een willekeurige cel van uw werkblad met een E-mailadres als argument.
Hier, in cel E4 hebben we de formule ingevoerd:
=Extension(D4)
Het heeft de extensie van het eerste e-mailadres teruggestuurd.
Dan kunt u de Vulgreep om de extensies van alle e-mailadressen eruit te halen.
⧭ Verklaring van de code
- Eerst declareren we een functie genaamd Uitbreiding die een willekeurige naam als invoer neemt door de regel Functie Uitbreiding(E-mailadres) .
- Dan beginnen we een iteratie met een for-loop die elk karakter van de E-mailadres om te zien of het @ of niet door de lijn Als Mid(Email_Address, i, 1) = "@" Dan .
- Als het een @ dan haalt het de vereiste extensie uit de E-mailadres door de lijn Uitbreiding = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
- Tenslotte verklaren we het einde van de functie.
3. Sommige teksten controleren om te zien of ze een specifieke tekst bevatten of niet
Een van de belangrijkste toepassingen van de Middenfunctie is om te zien of een tekst een bepaalde tekst bevat of niet.
Laten we een functie ontwikkelen om te controleren of de E-mailadressen bevatten de term "gmail" of niet.
U kunt het volgende gebruiken VBA code:
⧭ VBA-code:
Functie Checking(Text1, Text2) Voor i = 1 Tot Len(Text1) Als Mid(Text1, i, Len(Text2)) = Text2 Dan Checking = "Ja" Exit For Anders Checking = "Nee" Einde Als Volgende i Einde Functie
Let op: Deze code creëert een functie genaamd Het controleren van .
⧭ Uitgang:
Voer deze functie uit in een willekeurige cel van uw werkblad met twee teksten als argument.
Hier, in cel E4 hebben we de formule ingevoerd:
=Checking(D4,"gmail")
Het is teruggekeerd ja omdat het 1e e-mail adres een Gmail adres.
Dan kunt u de Vulgreep om hetzelfde te doen voor alle e-mail ID's.
⧭ Verklaring van de code:
- Eerst declareren we een functie genaamd Het controleren van die twee teksten als argumenten neemt door de regel Functie controleren(Tekst1,Tekst2) .
- Dan beginnen we een for-lus die elk segment van Tekst1 uitgaande van positie 1 om te zien of het gelijk is aan Tekst2 of niet, door de lijn Als Mid(Text1, i, Len(Text2)) = Text2 Dan .
- Als het Tekst2 dan geeft het "Ja" anders geeft het "Nee" .
- Tenslotte sluiten we de functie af met de lijn Einde functie .
Dingen om te onthouden
- De 1e argument van de Middenfunctie hoeft niet altijd een string te zijn. Het kan een string , a nummer of zelfs een booleaanse waarde.
- Maar de 2e en 3e De argumenten moeten nummers Ze kunnen gehele getallen of fracties maar moet nummers Als ze fracties dan is de Middenfunctie zal ze omrekenen naar het dichtstbijzijnde gehele getallen .