VBA-splitfunktion (exempel) - Hur delar jag strängar i Excel VBA?

Innehållsförteckning

Vad är VBA Split-funktion i Excel?

Delningsfunktion i VBA är en mycket användbar strängfunktion som används för att dela strängar i flera strängar baserat på en avgränsare som ges till funktionen och en jämförelsemetod, det finns också andra strängfunktioner som omvandlar en sträng till understrängning men delad funktion kan dela sträng i mer än en delsträng.

I det vanliga kalkylbladet används VÄNSTER-funktion, MID-funktioner och HÖGER i excel som textfunktioner i excel för att extrahera den del av meningen. Till exempel är extraktion av förnamn, mellannamn och efternamn de vanliga scenarierna vi har sett. Men i VBA har vi den mer mångsidiga funktionen som heter SPLIT som kommer att göra ett liknande jobb för dig. SPLIT är en inbyggd funktion i Excel VBA som kan dela den angivna meningen baserat på avgränsaren. Om du till exempel vill dela upp e-postadressen till olika delar är det vanliga elementet i e-postadressen "@" i alla e-post-id: n, så "@" avgränsas här.

VBA Split Strängfunktion

Liksom alla andra funktioner har split också sin egen syntax. Nedan visas parametrarna för Excel VBA Split-strängfunktionen.

  • Värde eller uttryck: Detta är inget annat än det verkliga värdet vi försöker dela upp. Om du till exempel vill dela förnamn och efternamn är hela namnet värdet här.
  • (Avgränsare): Vad är det vanliga elementet för att dela upp värdet eller uttrycket? I e-post är Id: s "@" det vanliga elementet, i adress komma (,) är det vanliga elementet. Om du ignorerar detta anser det att mellanslagsteckenet är standardvärdet.
  • (Limit): Hur många understrängar du vill ha från det värde eller uttryck du har angett. Till exempel, om värdet är “Mitt namn är Excel”, om du anger 3 som gräns så kommer resultatet att visas i tre rader som “Mitt”, “namn”, “är Excel”.
  • (Jämför): Eftersom vi inte använder jämförargument hoppar du över detta valfria argument.

I nästa avsnitt i artikeln kommer vi att se hur man använder SPLIT-funktionen i Excel VBA praktiskt taget.

Exempel på VBA Split Strängfunktion

Nedan följer de praktiska exemplen på Split-funktionen i Excel VBA.

Exempel nr 1 - Dela upp meningen

Split returnerar resultatet i matrisen som börjar från 0. Alla matriser är från 0 och inte från 1.

Antag att du har ordet "Mitt namn är Excel VBA" i cell A1.

Nu vill du dela upp den här meningen i bitar som "Mitt", "Namn", "är", "Excel", "VBA". Med hjälp av Excel VBA SPLIT-strängfunktionen kan vi returnera detta resultat.

Steg 1: Starta makrot med namnet.

Koda:

Sub Split_Example1 () Avsluta Sub Steg 2: Förklara tre variabler.

Koda:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () Som String End Sub

Steg 3: Nu för den definierade variabeln tilldelar Min text ordet "Mitt namn är Excel VBA" .

Koda:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "My Name is Excel VBA" End Sub

Steg 4: Tillämpa nu VBA splitsträngfunktion för Min resultatvariabel.

Koda:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "My Name is Excel VBA" MyResult = Split (End Sub

Steg 5: Uttryck är vårt textvärde. Eftersom vi redan har tilldelat vårt textvärde till variabeln Min text, ange detta argument här.

Koda:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "My Name is Excel VBA" MyResult = Split (MyText) End Sub

Obs! Ignorera nu alla andra parametrar.

Steg 6: Så nu innehåller Mitt resultat detta delade resultat. Som jag sa tidigare i inlägget lagrar split-funktionen resultatet som en matris så här

  • Mitt resultat (0) = “Mitt”
  • Mitt resultat (1) = “Namn”
  • Mitt resultat (2) = “är”
  • Mitt resultat (3) = “Excel”
  • Mitt resultat (4) = “VBA”

Även om den här koden inte påverkar att starta SPLIT-funktionen kan vi använda den här koden.

Exempel # 2 - VBA SPLIT-sträng med UBOUND-funktion

För att lagra resultatet av SPLIT-funktionen kan vi använda vba UBOUND-funktionen tillsammans med SPLIT-funktionen.

UBOUND returnerar matrisens maximala längd. I exemplet ovan var arrayens maximala längd 5.

Ta samma ord ”Mitt namn är Excel VBA”. Låt oss dela detta ord och lagra från cell A1 och framåt.

Step 1: Let’s continue from where we left off in the previous example.

Step 2: Now apply FOR NEXT LOOP in VBA from 0 to maximum length of the array i.e. UBOUND.

The reason we started from zero because SPLIT will store the result from zero, not from 1.

Step 3: Now apply VBA CELLS property and store the result.

Code:

Cells(i + 1, 1).Value = MyResult(i)

Step 4: Run this code, we would have split values.

Complete Code:

Sub Split_Example1() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) For i = 0 To UBound(MyResult) Cells(i + 1, 1).Value = MyResult(i) Next i End Sub

Return Word Count

We can also show the total number of words in the supplied value. Use the below code to show the total number of word counts. Code:

Sub Split_Example2() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) i = UBound(MyResult()) + 1 MsgBox "Total Words Count is " & i End Sub

Copy and paste the above VBA code and run it, the message box will return the result.

Things to Remember

  • If the delimiter is not supplied SPLIT automatically thinks the delimiter as space.
  • If you want to split except space then you need to specify the delimiter in double-quotes.
  • SPLIT stores the result as array results.
  • UBOUND function returns the maximum length of the array.

Recommended Articles

Detta har varit en guide till VBA Split-funktion. Här lärde vi oss hur man använder VBA Split String-funktion i Excel tillsammans med några praktiska exempel och en nedladdningsbar excel-mall. Nedan följer några användbara excelartiklar relaterade till VBA -

  • Hur aktiverar jag RegEx i VBA?
  • StrComp-funktion i Excel VBA
  • VBA-arbetsbokobjekt
  • VBA Sleep-funktion i Excel
  • Skapa en pivottabell i Excel VBA
  • Gör till Loop i VBA
  • Välj Cell i VBA
  • Kalkylbladets funktion i VBA
  • Prenumeration utom räckhåll

Intressanta artiklar...