Obsah
V tomto článku vám ukážem, ako môžete rozdeliť reťazec na pole v VBA . Split je jednou z najdôležitejších a najpoužívanejších funkcií, ktoré používame v VBA . Naučíte sa rozdeliť reťazec v VBA všetkými možnými spôsobmi.
Funkcia VBA Split (rýchle zobrazenie)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Stiahnite si cvičebnicu
Rozdelenie reťazca na pole.xlsm3 spôsoby rozdelenia reťazca na pole v programe VBA
Majme v ruke šnúru "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." .
Ukážem vám, ako môžete tento reťazec rozdeliť na pole všetkými možnými spôsobmi pomocou Funkcia Split z VBA .
1. Použitie ľubovoľného oddeľovača na rozdelenie reťazca do poľa vo VBA
Na rozdelenie reťazca do poľa môžete použiť ľubovoľný reťazec ako oddeľovač v VBA .
Môže to byť medzera (" ") , a čiarka (",") , a stredník (":") , jeden znak, reťazec znakov alebo čokoľvek iné.
⧭ Príklad 1:
Rozdeľme reťazec pomocou príkazu čiarka ako oddeľovač.
Riadok kódu bude:
Arr = Split(Text, ",")
Kompletný Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Rozdelí reťazec na pole pozostávajúce z {"Požiadali sme o víza USA", " Kanada", " Austrália", " Francúzsko"}.
⧭ Príklad 2:
Môžete tiež použiť medzera (" ") ako oddeľovač.
Riadok kódu bude:
Arr = Split(Text, " ")
Kompletný Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Rozdelí reťazec na pole pozostávajúce z {"My", "požiadal", "pre", "the", "vízum", "z", "USA,", "Kanada,", "Austrália,", "Francúzsko,"}.
⧭ Čo si treba zapamätať:
- Predvolený oddeľovač je medzera (" ") .
- To znamená, že ak nevložíte žiadny oddeľovač, použije sa priestor ako oddeľovač.
Prečítajte si viac: Rozdelenie reťazca podľa znakov v programe Excel (6 vhodných spôsobov)
Podobné čítania:
- Rozdelenie textu do viacerých buniek v programe Excel
- VBA na získanie jedinečných hodnôt zo stĺpca do poľa v programe Excel (3 kritériá)
- Excel VBA: Ako filtrovať pomocou viacerých kritérií v poli (7 spôsobov)
2. Rozdelenie reťazca na pole s ľubovoľným počtom položiek
Reťazec môžete rozdeliť na pole s ľubovoľným počtom položiek podľa vášho želania.
Vložte počet položiek ako 3. argument Funkcia Split .
⧭ Príklad:
Rozdeľme reťazec na prvý 3 položky s priestor ako oddeľovač.
Riadok kódu bude:
Arr = Split(Text, " ", 3)
A Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Rozdelí reťazec na pole pozostávajúce z prvých 3 položky oddelené oddeľovačom priestor .
⧭ Čo si treba zapamätať:
- Predvolený argument je -1 .
- To znamená, že ak nezadáte argument, reťazec sa rozdelí na maximálny možný počet krát.
Prečítajte si viac: Ako rozdeliť reťazec podľa dĺžky v programe Excel (8 spôsobov)
3. Použitie oddeľovača citlivého na veľkosť písmen aj necitlivého na rozdelenie reťazca na pole vo VBA
Stránka Funkcia Split ponúka možnosť používať aj rozlišovanie veľkých a malých písmen a rozlišovanie veľkých a malých písmen oddeľovač.
Pre rozlišovanie veľkých a malých písmen vložte oddeľovač 4. argument ako 1.
A pre rozlišovanie veľkých a malých písmen vložte oddeľovač 4. argument ako 0 .
⧭ Príklad 1: Oddeľovač citlivý na veľkosť písmen
V danom reťazci uvažujme text "PRE" ako oddeľovač a 2 ako celkový počet položiek poľa.
Teraz, pre rozlišovanie veľkých a malých písmen riadok kódu bude:
Arr = Split(Text, "FOR ", 3,1)
A kompletný Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Keďže oddeľovač je rozlišovanie veľkých a malých písmen tu sa "PRE" bude fungovať ako "pre" a reťazec sa rozdelí na pole dvoch položiek.
⧭ Príklad 2: Oddeľovač citlivý na veľkosť písmen
Opäť platí, že pre rozlišovanie veľkých a malých písmen riadok kódu bude:
Arr = Split(Text, "FOR ", 3,0)
A kompletný Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požiadali sme o víza USA, Kanady, Austrálie a Francúzska." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Keďže oddeľovač je rozlišovanie veľkých a malých písmen tu sa "PRE" nebude ako "pre" a nerozdelí reťazec na pole dvoch položiek.
Prečítajte si viac: Excel VBA: Odstránenie duplikátov z poľa (2 príklady)
⧭ Čo si treba zapamätať:
- Predvolená hodnota argumentu je 0 .
- To znamená, že ak nezadáte hodnotu 4. argument, bude fungovať pre rozlišovanie veľkých a malých písmen zápas.
Záver
Preto môžete pomocou týchto metód použiť Funkcia Split z VBA na rozdelenie reťazca na pole položiek. Máte nejaké otázky? Neváhajte sa nás opýtať.