Ako rozdeliť reťazec na pole v programe VBA (3 spôsoby)

  • Zdieľajte To
Hugh West

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

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

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.