VBA SubString

Excel VBA SubString

Excel VBA SubString är en mycket användbar typ av funktion i VBA som används för att dela upp data i form av sträng. Men i arbetsbladets funktioner har vi tre funktioner för delsträngar, nämligen vänster-höger- och mittfunktion, medan vi i VBA har funktionerna vänster-höger-mitt och split som funktioner för delsträngar. Som namnet antyder delar substring-funktionen i VBA upp en sträng i flera substrängar. Som förklarats ovan finns det i VBA flera VBA-funktioner för understrängar. I den här artikeln kommer vi att lära oss hur man använder dessa substring-funktioner separat med exempel. Innan vi går vidare med exemplen ska vi först lära oss syntaxen för dessa funktioner och vilket argument dessa funktioner tar som indata.

Syntax för Excel VBA Substring

Följande är de olika syntaxen:

Visa våra demokurser och videoklipp

Bedömning, Hadoop, Excel, Mobila appar, Webbutveckling & många fler.

Syntax för funktionen Left SubString:

Textsträng är den sträng som vi anger som indata medan längden är det antal tecken som vi vill ha från inmatningssträngen.

Exempel: Om vi har en sträng som ANAND och vill ha AN som understräng blir koden

Left (”ANAND”,2)

Syntax för Right SubString-funktionen:

Textsträng är den sträng som vi anger som indata, medan längden är antalet tecken som vi vill ha från den inmatade strängen.

Exempel: Om vi har en sträng som ANAND och använder samma kod som ovan blir resultatet

Right (”ANAND”,2)

Detta ger ND som resultat.

Syntax för funktionen Mid SubString i VBA:

Textsträng är den sträng som vi tillhandahåller som indata och Startposition är positionen där vi vill att tecknet ska börja för extraktion medan längden är antalet tecken som vi vill ha från inmatningssträngen.

Exempel: Vi har en sträng som COMPUTER och vi vill PUT som delsträng, då blir koden följande:

MID (”COMPUTER”,4,3)

Syntax för funktionen Split SubString:

  • Expression As String: Detta är ett obligatoriskt argument i funktionen SPLIT. Det är i princip den inmatningssträng som vi tillhandahåller.
  • Delimiter: Detta är ett valfritt argument. Det är den specifika avgränsare som delar upp strängen, men som standard betraktas mellanslag som standardavgränsare.
  • Limit: Detta är också ett valfritt argument. Begränsning innebär det maximala antalet delar som vi vill göra av en sträng. Men återigen, om vi inte anger någon gräns för funktionen behandlar VBA den som standard -1. Detta innebär att strängen kommer att delas upp varje gång det finns en avgränsare i strängen.
  • Jämför: Detta sista argument är också ett valfritt argument. Compare är en jämförelsemetod som är en av de två nedan:

  1. Endera är det 0 vilket innebär att SPLIT kommer att utföra en binär jämförelse vilket innebär att varje tecken ska matcha sig självt.
  2. Och det kan vara 1 vilket innebär att SPLIT-funktionen kommer att göra en textjämförelse.

Split-funktionen är den knepigaste och mest användbara bland dem alla delsträngsfunktioner ovan. Alla de andra tre delsträngsfunktionerna använder en sträng som indata medan Split-funktionen använder en array av strängar.

Till exempel om jag skriver Split(”I AM A GOOD BOY”) kommer att dela strängen som separat (varje ord som separat). Låt oss nu använda dessa funktioner för delsträngar i exempel.

Observera: För att använda VBA måste vi ha fliken för utvecklare aktiverad från filfliken under avsnittet Alternativ.

Hur använder man funktioner för delsträngar i VBA?

Vi kommer att lära oss hur man använder SubString-funktionen i Excel med hjälp av VBA-koden.

Du kan ladda ner den här VBA SubString Excel-mallen här – VBA SubString Excel-mall

Exempel #1

Vänster Substring-funktionen i VBA. Låt oss använda den första delsträngfunktionen i VBA. För detta följer du nedanstående steg:

Steg 1: Gå till utvecklarens flik och klicka på Visual Basic för att öppna VB Editor.

Steg 2: Infoga en ny modul inuti Visual Basic Editor (VBE). Klicka på fliken Infoga > välj Modul.

Steg 3: Deklarera en underfunktion för att börja skriva koden.

Kod:

Sub Sample()End Sub

Steg 4: Deklarera två strängar, en för att ta emot inmatning från användaren och en för att lagra värdet av resultatet.

Kod:

Sub Sample()Dim A, B As StringEnd Sub

Steg 5: Ta emot inmatningen från användaren för inmatningssträngen med hjälp av inmatningsboxfunktionen.

Kod:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Steg 6: I B-variabeln lagra värdet från den vänstra funktionen upp till tredje stället.

Kod:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub

Steg 7: Använd Msgbox-funktionen för att visa slutresultatet.

Kod:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub

Steg 8: Kör nu ovanstående kod genom att trycka på F5-tangenten. och skriv in String som ANAND.

Steg 9: När vi trycker på OK ser vi resultatet av den vänstra delsträngsfunktionen.

ANA är de tre tecknen från vänster i strängen.

Exempel nr 2

RÄTTERS delsträngsfunktion i VBA. För detta följer du nedanstående steg:

Steg 1: I samma modul deklarerar du en annan underfunktion för att börja skriva koden för funktionen Right Substring.

Kod:

Sub Rightsub()End Sub

Steg 2: Deklarera två variabler A och B som string.

Kod:

Sub Rightsub()Dim A, B As StringEnd Sub

Steg 3: Ta emot inmatningen från användaren och lagra värdet i variabeln A.

Kod:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Steg 4: Använd funktionen Right på strängen till tredje stället och lagra värdet i variabeln B.

Kod:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub

Steg 5: Använd Msgbox-funktionen för att visa värdet i B.

Kod:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub

Steg 6: Kör koden och skriv in inmatningssträngen som ”MOTHER”.

Steg 7: Tryck på OK för att se resultatet.

HER är de tre tecknen från höger i strängen.

Exempel nr 3

MID Substring Function in VBA. För detta följer du nedanstående steg:

Steg 1: I samma modul deklarerar du en annan underfunktion för att börja skriva koden för funktionen Mittsträng.

Kod:

Sub MIDsub()End Sub

Steg 2: Deklarera två variabler A och B som String.

Kod:

Sub MIDsub()Dim A, B As StringEnd Sub

Steg 3: Ta emot indata från användaren och lagra värdet i variabel A.

Kod:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Steg 4: Använd Mid-funktionen med startpositionen 4 och längden 3 och lagra värdet i B och visa det med hjälp av funktionen Msgbox.

Kod:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub

Steg 5: Kör ovanstående kod och ge COMPUTER som indata.

Steg 6: Tryck på OK för att se det slutliga resultatet.

Den delsträng PUT börjar från fjärde positionen och vi har lyckats extrahera tre tecken.

Exempel #4

VBA Split SubString Function. För detta följer du nedanstående steg:

Steg 1: I samma modul deklarerar du en underfunktion för att börja skriva koden för underfunktionen.

Kod:

Sub SplitSub()End Sub

Steg 2: Deklarera två Variabler A som sträng och B som strängaritem och ta emot inmatningssträng från användaren och lagra den i Variabel A.

Kod:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub

Steg 3: Använd funktionen Split SubString och lagra dess värde i variabel B.

Kod:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub

Steg 4: Använd For-slingan för att visa varje SubString på en enda rad.

Kod:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub

Steg 5 Kör ovanstående kod och ge I,AM,GOOD,BOY som indata.

Steg 6: Tryck på OK för att se resultatet.

Vi använde ”,” som avgränsare i exemplet ovan.

Slutsats

Likt arbetsbladets funktioner för delsträngar har även VBA funktioner för delsträngar. De är Left Right Mid och Split Functions. I grund och botten delar Substring-funktionerna upp en sträng eller en array av strängar i flera delsträngar. Om vi vill ha en delsträng från strängens vänster använder vi Left-funktionen eller höger i motsatt fall. Om vi vill ha ett tecken i mitten av en given sträng använder vi MID-funktionerna. Även om vi har en array av strängar använder vi split-funktioner.

Saker att komma ihåg

Det finns några saker som vi behöver komma ihåg om Substring-funktioner i VBA:

  • Det liknar arbetsbladets substring-funktioner.
  • Understrängningsfunktioner delar upp en given sträng i understrängar.
  • Om vi har en matris med strängar använder vi delningsfunktioner.
  • Endast ingångssträngen i delningsfunktionen är obligatorisk medan de andra är valfria.

Rekommenderade artiklar

Det här är en guide till VBA Substring. Här diskuterar vi hur man använder SubString-funktionen i Excel VBA tillsammans med praktiska exempel och nedladdningsbara Excel-mallar. Du kan också gå igenom våra andra föreslagna artiklar –

  1. VBA SendKeys
  2. VBA On Error Goto
  3. VBA Input
  4. VBA LBound
0 Shares

Lämna ett svar

Din e-postadress kommer inte publiceras.