Jak rozdělit řetězec na pole v prostředí VBA (3 způsoby)

  • Sdílet Toto
Hugh West

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.xlsm

3 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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.