Hur du använder VBA-funktionen Mid i Excel (3 exempel)

  • Dela Detta
Hugh West

En av de viktigaste och mest använda funktionerna som vi använder när vi arbetar med VBA i Excel är den Mittfunktion VBA Den tar en sträng som indata och returnerar ett givet antal tecken från strängens mitt som utdata. I den här artikeln ska jag visa hur du kan använda Mittfunktion VBA med lämpliga exempel och illustrationer.

Detta ger följande resultat 9 tecken från strängen "Angela Catherine Nevills" , med utgångspunkt från 8:e karaktär. Det är "Catherine" .

Ladda ner övningsboken

Ladda ner den här övningsboken för att träna på uppgiften medan du läser den här artikeln.

VBA Mid Function.xlsm

Introduktion till VBA-funktionen Mid i Excel

Funktionsmål:

Mitt i Funktionen tar ett värde som indata och returnerar ett givet antal tecken från en given position i värdet som utdata.

Värdet kan vara ett sträng, nummer , eller till och med en boolean .

Om du till exempel infogar Mid("Angela Catherine Nevills",8,9), kommer den att återge "Catherine" .

Om du sätter in Mid(12345,2,3) , du får 234.

Och infoga Mitt(Falsk,2,3) , får du als .

Syntax:

Syntaxen för Mittfunktion VBA är:

=Mid(String,Start as Long,[Längd])

Argument:

Argument Obligatoriskt / valfritt Förklaring
Sträng Krävs Strängen från vilken ett antal tecken returneras.
Starta Krävs Starttecknet i strängen som returneras.
Längd Valfritt Antalet tecken som returneras. Standardvärdet är 1.

Returvärde:

Återger ett givet antal tecken från mitten av en sträng, med början från en given position.

3 exempel på VBA-funktionen Mid i Excel

Den här gången ska vi utforska Mittfunktion VBA i detalj med några exempel.

1. Separera ett givet antal tecken från mitten av vissa ID:n med hjälp av VBA-funktionen Mid i Excel

Här har vi en datamängd med ID:er och Namn av några anställda på ett företag som heter Saturn Group.

Här kan 4:e till 7:e tecken i varje ID betecknar den anställdes inträdesår.

Nu ska vi utveckla en Användardefinierad funktion med hjälp av Mittfunktion VBA som hämtar varje anställds anslutningsår från Anställdas ID .

Du kan använda följande VBA kod:

VBA-kod:

 Funktion Sammanförande_år(ID) Sammanförande_år = Mid(ID, 4, 4) Slutfunktion 

Observera: Denna kod skapar en funktion som heter År för anslutning .

Utgång:

Kör den här funktionen i en valfri cell i arbetsbladet med ett ID som argument.

Här, i cell D4 har vi angett formeln:

=Sammanträdesår(B4)

Den har returnerat den första anställdas inträdesår, 2021 .

Nu kan du dra den Handtag för fyllning för att få fram de övriga anställdas inträdesår.

Förklaring av koden:

  • Först deklarerar vi en funktion som heter År för anslutning som tar ett ID som ingångsvärde genom raden Funktion Joining_Year(ID) .
  • Därefter extraherar vi 4 tecken från ID med början från position 4 , genom linjen Joining_Year = Mid(ID, 4, 4) .
  • Linjen Slutfunktion anger att funktionen är slut.

2. Extrahera förlängningar från vissa e-postadresser med hjälp av VBA-funktionen Mid i Excel

Nu har vi lagt till en ny kolumn i datamängden som innehåller de anställdas e-postadresser.

Den här gången tar vi fram e-postadressernas tillägg med hjälp av Mitt i funktion av VBA .

VBA-kod kommer att vara:

VBA-kod:

 Funktion Förlängning(E-postadress) For i = 1 To Len(E-postadress) If Mid(E-postadress, i, 1) = "@" Then Extension = Mid(E-postadress, i + 1, Len(E-postadress) - (i + 4)) End If Next i End Function 

Observera: Denna kod skapar en funktion som heter Förlängning .

Utgång:

Kör den här funktionen i en valfri cell i arbetsbladet med en E-postadress som argument.

Här, i cell E4 har vi angett formeln:

=Förlängning(D4)

Den har returnerat förlängningen av den första e-postadressen.

Därefter kan du dra den Handtag för fyllning för att ta fram alla e-postadressers tillägg.

Förklaring av koden

  • Först deklarerar vi en funktion som heter Förlängning som tar ett valfritt namn som indata genom raden Funktion Förlängning(E-postadress) .
  • Därefter startar vi en iteration med en för-slinga som kontrollerar varje tecken i E-postadress för att se om det är @ eller inte genom linjen Om Mid(Email_Address, i, 1) = "@" Då .
  • Om den hittar en @ och sedan extraherar den det önskade tillägget från E-postadress av linjen Extension = Mid(Email_Address, i + 1, Len(Email_Address) - (i + 4)) .
  • Slutligen förklarar vi att funktionen är slut.

3. Kontrollera vissa texter för att se om de innehåller en viss text eller inte.

Ett av de viktigaste användningsområdena för Mittfunktion är att se om en text innehåller en viss text eller inte.

Låt oss utveckla en funktion för att kontrollera om E-postadresser innehåller följande villkor "gmail" eller inte.

Du kan använda följande VBA kod:

VBA-kod:

 Funktion Kontrollera(Text1, Text2) For i = 1 To Len(Text1) If Mid(Text1, i, Len(Text2)) = Text2 Then Kontrollera = "Ja" Exit For Else Kontrollera = "Nej" End If Next i End Function 

Observera: Denna kod skapar en funktion som heter Kontrollera .

Utgång:

Kör den här funktionen i en valfri cell i arbetsbladet med två texter som argument.

Här, i cell E4 har vi angett formeln:

=Kontroll(D4, "gmail")

Den har återvänt ja eftersom den första e-postadressen är en Gmail adress.

Därefter kan du dra den Handtag för fyllning för att göra samma sak för alla e-post-ID:n.

Förklaring av koden:

  • Först deklarerar vi en funktion som heter Kontrollera som tar två texter som argument genom raden Funktion Kontroll(Text1,Text2) .
  • Sedan startar vi en for-slinga som kontrollerar varje segment av Text1 från positionen 1 för att se om den är lika med Text2 eller inte, genom raden Om Mid(Text1, i, Len(Text2)) = Text2 då .
  • Om den hittar Text2 , då returneras "Ja" , i annat fall återges "Nej" .
  • Slutligen avslutar vi funktionen med linjen Slutfunktion .

Saker att komma ihåg

  • 1:a argumentet i den Mittfunktion behöver inte alltid vara en sträng utan kan vara en sträng , a nummer , eller till och med en boolean värde.
  • Men den 2:a och 3:e argumenten måste vara nummer . De kan vara heltal eller . fraktioner men måste vara nummer . Om de är fraktioner , då är det Mittfunktion omvandlar dem till närmaste heltal .

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.