De Mid-functie van VBA in Excel gebruiken (3 voorbeelden)

  • Deel Dit
Hugh West

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.xlsm

Inleiding 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 .

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.