Hvad er VBA Split-funktion i Excel?
Opdelingsfunktion i VBA er en meget nyttig strengefunktion, der bruges til at opdele strenge i flere understrengninger baseret på en afgrænser, der gives til funktionen og en sammenligningsmetode, der er også andre strengefunktioner, der konverterer en streng til understreng, men opdelingsfunktion kan opdele streng i mere end en understreng.
I det normale regneark bruges VENSTRE funktion, MID-funktioner og HØJRE i excel som tekstfunktioner i excel for at udtrække den del af sætningen. For eksempel er ekstraktion af fornavn, mellemnavn og efternavn de almindelige scenarier, vi har set. Men i VBA har vi den mere alsidige funktion kaldet SPLIT, som vil gøre et lignende job for dig. SPLIT er en indbygget funktion i Excel VBA, som kan opdele den medfølgende sætning baseret på afgrænseren. For eksempel, hvis du vil opdele e-mail-adressen til forskellige dele, er det fælles element i e-mail-adressen "@" i alle e-mail-id'erne, så "@" bliver afgrænser her.

VBA split streng funktion
Som alle andre funktioner har split også sin egen syntaks. Nedenfor er parametrene for excel VBA Split strengfunktion.

- Værdi eller udtryk: Dette er intet andet end den faktiske værdi, vi prøver at opdele. For eksempel, hvis du vil opdele fornavn og efternavn, er det fulde navn værdien her.
- (Afgrænser): Hvad er det fælles element for at opdele værdien eller udtrykket? I e-mail er Ids “@” det fælles element, i adresse komma (,) er det fælles element. Hvis du ignorerer dette, betragter det mellemrumstegnet som standardværdien.
- (Begræns): Hvor mange understrenge, du ønsker fra den værdi eller udtryk, du har leveret. For eksempel, hvis værdien er "Mit navn er Excel", hvis du angiver 3 som grænse, vil det vise resultatet i tre linjer som "Mit", "navn", "er Excel".
- (Sammenlign): Da vi ikke bruger sammenligningsargument, skal du springe dette valgfri argument over.
I de næste afsnit af artiklen vil vi se, hvordan man praktisk talt bruger SPLIT-funktionen i Excel VBA.
Eksempler på VBA Split strengfunktion
Nedenfor er de praktiske eksempler på splitfunktionen i Excel VBA.
Eksempel # 1 - Opdel sætningen
Split returnerer resultatet i arrayet, der starter fra 0. Alle arrays er start fra 0 og ikke fra 1.
Antag, at du har ordet "Mit navn er Excel VBA" i celle A1.

Nu vil du opdele denne sætning i stykker som “My”, “Name”, “is”, “Excel”, “VBA”. Ved hjælp af Excel VBA SPLIT String-funktion kan vi returnere dette resultat.
Trin 1: Start makroen med navnet.

Kode:
Sub Split_Example1 () Afslut Sub Trin 2: Erklær tre variabler.

Kode:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () Som String End Sub
Trin 3: Nu til den definerede variabel tildeler Min tekst ordet "Mit navn er Excel VBA" .

Kode:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Mit navn er Excel VBA" End Sub
Trin 4: Anvend nu VBA split streng-funktion for min resultatvariabel.

Kode:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Mit navn er Excel VBA" MyResult = Split (End Sub
Trin 5: Udtryk er vores tekstværdi. Da vi allerede har tildelt vores tekstværdi til variablen Min tekst, skal du indtaste dette argument her.

Kode:
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
Bemærk: I øjeblikket skal du ignorere alle de andre parametre.
Trin 6: Så nu holder mit resultat dette splitresultat. Som jeg fortalte tidligere i indlægget, gemmer split-funktionen resultatet som en matrix, så her
- Mit resultat (0) = “Mit”
- Mit resultat (1) = “Navn”
- Mit resultat (2) = “er”
- Mit resultat (3) = “Excel”
- Mit resultat (4) = “VBA”
Selvom denne kode ikke har nogen indflydelse på at starte SPLIT-funktionen, kan vi bruge denne kode.
Eksempel # 2 - VBA SPLIT-streng med UBOUND-funktion
For at gemme resultatet af SPLIT-funktionen kan vi bruge vba UBOUND-funktion sammen med SPLIT-funktionen.
UBOUND returnerer den maksimale længde af arrayet. I ovenstående eksempel var arrayens maksimale længde 5.
Tag det samme ord "Mit navn er Excel VBA". Lad os opdele dette ord og gemme fra celle A1 og fremefter.
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
Dette har været en guide til VBA Split-funktion. Her lærte vi, hvordan man bruger VBA Split String-funktion i Excel sammen med nogle praktiske eksempler og en Excel-skabelon, der kan downloades. Nedenfor er nogle nyttige excel-artikler relateret til VBA -
- Sådan aktiveres RegEx i VBA?
- StrComp-funktion i Excel VBA
- VBA WorkBook-objekt
- VBA Sleep-funktion i Excel
- Opret en pivottabel i Excel VBA
- Gør indtil løkke i VBA
- Vælg Cell i VBA
- Arbejdsarkfunktion i VBA
- Abonnement uden for rækkevidde