Obsah
V tomto článku vám ukážu, jak můžete rozdělit řetězec na pole v aplikaci VBA . Split je jednou z nejdůležitějších a nejpoužívanějších funkcí, které používáme v systému VBA . Naučíte se rozdělit řetězec v. VBA všemi možnými způsoby.
Funkce VBA Split (rychlé zobrazení)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Stáhnout cvičebnici
Rozdělení řetězce na pole.xlsm3 způsoby rozdělení řetězce na pole v prostředí VBA
Mějme v ruce provázek "Požádali jsme o víza USA, Kanady, Austrálie a Francie." .
Ukážu vám, jak můžete tento řetězec rozdělit na pole všemi možnými způsoby pomocí příkazu Funkce rozdělení z VBA .
1. Použití libovolného oddělovače k rozdělení řetězce na pole ve VBA
Jako oddělovač můžete použít libovolný řetězec pro rozdělení řetězce na pole v položce VBA .
Může to být mezera (" ") , a čárka (",") , a středník (":") , jeden znak, řetězec znaků nebo cokoli jiného.
⧭ Příklad 1:
Rozdělme řetězec pomocí příkazu čárka jako oddělovač.
Řádek kódu bude:
Arr = Split(Text, ",")
Kompletní Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požádali jsme o vízum USA, Kanady, Austrálie a Francie." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Rozdělí řetězec na pole skládající se z následujících položek {"Požádali jsme o vízum USA", " Kanada", " Austrálie", " Francie"}.
⧭ Příklad 2:
Můžete také použít mezera (" ") jako oddělovač.
Řádek kódu bude:
Arr = Split(Text, " ")
Kompletní Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požádali jsme o vízum USA, Kanady, Austrálie a Francie." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Výstup:
Rozdělí řetězec na pole skládající se z následujících položek {"My", "požádal", "pro", "the", "vízum", "z", "USA,", "Kanada,", "Austrálie,", "Francie,"}.
⧭ Na co nezapomenout:
- Výchozí oddělovač je mezera (" ") .
- To znamená, že pokud nevložíte žádný oddělovač, použije se znak prostor jako oddělovač.
Přečtěte si více: Rozdělení řetězce podle znaků v aplikaci Excel (6 vhodných způsobů)
Podobné čtení:
- Rozdělení textu do více buněk v aplikaci Excel
- Získání jedinečných hodnot ze sloupce do pole v aplikaci Excel pomocí VBA (3 kritéria)
- Excel VBA: Jak filtrovat pomocí více kritérií v poli (7 způsobů)
2. Rozdělení řetězce na pole s libovolným počtem položek
Řetězec můžete rozdělit na pole s libovolným počtem položek podle vašeho přání.
Vložte počet položek jako 3. argumentu Funkce rozdělení .
⧭ Příklad:
Rozdělme řetězec na první 3 položky s prostor jako oddělovač.
Řádek kódu bude:
Arr = Split(Text, " ", 3)
A Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požádali jsme o vízum USA, Kanady, Austrálie a Francie." 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:
Rozdělí řetězec na pole, které se skládá z prvních znaků. 3 položky oddělené oddělovačem prostor .
⧭ Na co nezapomenout:
- Výchozí argument je -1 .
- To znamená, že pokud argument nezadáte, rozdělí se řetězec na maximální možný počet.
Přečtěte si více: Jak rozdělit řetězec podle délky v aplikaci Excel (8 způsobů)
3. Použití oddělovače citlivého na velikost písmen i necitlivého na rozdělení řetězce na pole ve VBA
Na stránkách Funkce rozdělení nabízí možnost používat jak rozlišování velkých a malých písmen a rozlišování velkých a malých písmen oddělovač.
Pro rozlišování velkých a malých písmen vložte oddělovač 4. argument jako 1.
A pro rozlišování velkých a malých písmen vložte oddělovač 4. argument jako 0 .
⧭ Příklad 1: Oddělovač rozlišující malá a velká písmena
V daném řetězci uvažujme text "PRO" jako oddělovač a 2 jako celkový počet položek pole.
Nyní pro rozlišování velkých a malých písmen bude řádek kódu vypadat takto:
Arr = Split(Text, "FOR ", 3,1)
A kompletní Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požádali jsme o vízum USA, Kanady, Austrálie a Francie." 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:
Protože oddělovač je rozlišování velkých a malých písmen zde je "PRO" bude fungovat jako "pro" a rozdělí řetězec na pole dvou položek.
⧭ Příklad 2: Oddělovač rozlišující malá a velká písmena
Opět platí, že pro rozlišování velkých a malých písmen bude řádek kódu vypadat takto:
Arr = Split(Text, "FOR ", 3,0)
A kompletní Kód VBA bude:
⧭ Kód VBA:
Sub Split_String() Text = "Požádali jsme o vízum USA, Kanady, Austrálie a Francie." 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:
Protože oddělovač je rozlišování velkých a malých písmen zde je "PRO" nebude jako "pro" a nerozdělí řetězec na pole dvou položek.
Přečtěte si více: Excel VBA: Odstranění duplicit z pole (2 příklady)
⧭ Na co nezapomenout:
- Výchozí hodnota argumentu je 0 .
- To znamená, že pokud nezadáte hodnotu 4. argument, bude fungovat pro rozlišování velkých a malých písmen zápas.
Závěr
Pomocí těchto metod můžete tedy použít. Funkce rozdělení z VBA rozdělit řetězec na pole položek. Máte nějaké dotazy? Neváhejte se nás zeptat.