VBA Substring – Hur du använder Substring i Excel Macro

author
4 minutes, 1 second Read

Substring är en av de mest populära funktionerna i alla programmeringsspråk. Den underlättar dina uppgifter när du hanterar strängar. Som namnet antyder delar en substring-funktion upp en sträng i olika delar baserat på särskilda kriterier.

Det finns flera VBA Substring-funktioner. I praktiska situationer kan dessa substring-funktioner vara ganska användbara för att extrahera en del av en sträng.

I dag i det här inlägget kommer jag att förklara alla VBA substring-funktioner som du kan använda i Excel-makron:

Innehållsförteckning

LEFT Substring-funktion:

Funktionen LEFT i Excel VBA används för att hämta ett visst antal tecken från strängens början. Syntaxen för LEFT-funktionen är följande:

Left (text_string, length)
  • Här hänvisar ”text_string” till en inmatningssträng som ska separeras.
  • Och ”length” hänvisar till antalet tecken som ska hämtas.

Exempel:

Vänster ("Exceltrick", 5) 'ger ett resultat "Excel"
Vänster ("SomeText", 4) 'ger resultatet "Some"

Notera: Istället för att använda en hårdkodad sträng i det första argumentet kan du också hämta ”text_string” från ditt Excel-ark, till exempel ActiveSheet.Range(”A1”).

Höger funktion för delsträng:

Den högra funktionen i Excel VBA är raka motsatsen till den vänstra funktionen. Den returnerar ett angivet antal tecken från slutet av textsträngen. Syntaxen för funktionen RIGHT är följande:

Right (text_string, length)
  • Här hänvisar ”text_string” till en inmatningssträng som ska separeras.
  • Och ”length” hänvisar till antalet tecken som ska extraheras, men extraheringen börjar från den högra sidan.

Exempel:

Högre ("Exceltrick", 5) 'ger ett resultat "trick"
Högre ("SomeText", 4) 'ger resultatet "Text"

Notera: Istället för att använda en hårdkodad sträng i det första argumentet kan du också hämta ”text_string” från ditt Excel-ark som ActiveSheet.Range(”A1”).

MID Substring-funktionen:

MID är en mycket bättre funktion än de två första, den ger dig möjlighet att ange start- och slutpositionen för den extraherade strängen. Syntaxen för MID VBA Substring-funktionen är följande:

Mid(text_string, start_position, Length)
  • Här hänvisar ”text_string” till en inmatningssträng som ska separeras.
  • ’start_position’ hänvisar till den numeriska position från vilken extraktionen ska påbörjas.
  • Och ’length’ hänvisar till antalet tecken som ska extraheras.

Exempel:

MID ("Exceltrick", 2,4) 'ger resultatet "celt"
MID ("SomeText", 4,4) 'ger resultatet "Text"

Notera: Istället för att använda en hårdkodad sträng i det första argumentet kan du också hämta ”text_string” från ditt Excel-ark som ActiveSheet.Range(”A1”).

SPLIT Substring-funktionen:

Funktionen SPLIT är en annan VBA-funktion som kan användas för att dela upp eller dela upp en sträng. Funktionen SPLIT kan vara mycket praktisk när du delar upp en textsträng i flera delar baserat på en avgränsare. Syntaxen för en split-funktion är följande:

Split (text_string, Delimiter, limit, Compare)
  • Här hänvisar ”text_string” till en inmatningssträng som ska separeras.
  • ”Delimiter” hänvisar till det avgränsningstecken som separerar strängen i delar. Detta är ett valfritt argument, om det lämnas tomt antas mellanslagstecknet ” ” vara standardavgränsare.
  • ’limit’ avser det maximala antalet delar av delsträngar som strängen ska delas upp i. Det är också ett valfritt argument, standardvärdet är (-1) vilket innebär att delsträng ska ske vid varje position där avgränsaren påträffas.
  • ’compare’ är ett valfritt numeriskt värde som anger vilken jämförelse som ska användas vid utvärdering av delsträngar.

Exempel:

Split ("Detta är en textsträng", " ")

Resultatet av denna splitfunktion är en array av ord: ”Det här” ”är” ”en” ”text” ”sträng”.

Rekommenderad läsning: VBA Split Function

VBA Substring Macro Example: VBA Substring Macro Example:

Nedan har jag skapat ett makro som illustrerar alla de tekniker för delsträngar som finns tillgängliga i VBA-programmering. Detta är ett enkelt och självförklarande makro, i detta har jag helt enkelt delat upp en textsträng med de 4 metoder som jag har beskrivit ovan.

Nedan följer den kod som jag har använt för detta makro:

Sub BreakStrings()
'Left function
a = Left("Excel Trick Text", 5)
'Right function
b = Right("Excel Trick Text", 11)
'Mid function
c = Mid("Excel Trick Text", 1, 11)
'Split-funktion
d = Split("Excel Trick Text", " ")
For Each wrd In d
strg = strg & wrd & ", "
Next
'Visar resultaten i en meddelandefält
MsgBox "Left: " & a & vbNewLine & "Right: " & b & vbNewLine & "Mid: " & c & vbNewLine & "Split: " & strg
End Sub

Det här handlade alltså om VBA-funktioner för delsträngar. Dela gärna med dig av din syn på ämnet.

Similar Posts

Lämna ett svar

Din e-postadress kommer inte publiceras.