Excel VBA Split String do poľa
Reťazec je kolekcia znakov spojených dohromady, keď sú tieto znaky rozdelené a uložené v premennej, potom sa táto premenná stane poľom pre tieto znaky a metódou, ktorú používame na rozdelenie reťazca na vytvorenie poľa, je funkcia SPLIT vba, ktorá rozdelí reťazec na jednorozmerný reťazec.
Rovnako ako pracovné listy vo VBA, aj my máme funkcie na prácu s hodnotami String alebo Text. Sme veľmi dobre oboznámení s operáciami s reťazcami, ako je extrakcia prvého mena, priezviska, stredného mena atď. Ale čo tak myšlienka rozdelenia hodnoty reťazca na polia vo VBA? Áno, počuli ste správne, že môžeme rozdeliť vetu reťazca do poľa pomocou kódovania VBA, a v tomto špeciálnom článku vám ukážeme, ako rozdeliť reťazec do poľa v programe Excel VBA.

Čo je Split String do poľa?
Najprv by som chcel objasniť, že reťazec „String into Array“ nie je nič iné ako „rôzne časti vety alebo reťazca sa rozdelia na viac častí.“ Napríklad, ak je veta „Bangalúr je hlavné mesto Karnataka“, potom každé slovo predstavuje iné pole.
Ako je možné túto vetu rozdeliť do poľa, je témou tohto článku.
Ako previesť rozdelený reťazec na pole v programe Excel VBA?
Na prevedenie rozdeleného reťazca na pole vo VBA máme funkciu nazvanú „SPLIT“. Toto je funkcia VBA, ktorá vykonáva úlohu rozdelenia dodanej hodnoty reťazca na rôzne časti na základe poskytnutého oddeľovača.
Napríklad ak je veta „Bangalúr je hlavné mesto Karnataky“, medzera je oddeľovač medzi každým slovom.
Nižšie je uvedená syntax funkcie SPLIT.

- Hodnota alebo výraz: Toto je textová alebo reťazcová hodnota, ktorú sa pokúšame previesť na pole segregáciou každej časti reťazca.
- (Oddeľovač): Toto nie je nič iné ako bežné veci, ktoré oddeľujú každé slovo v reťazci. V našej vete „Bangalúr je hlavné mesto Karnataka“ je každé slovo oddelené znakom medzery, takže náš oddeľovač je tu medzera.
- (Limit): Limit nie je nič iné ako to, koľko častí vo výsledku chceme. Napríklad vo vete „Bangalore je hlavné mesto Karnataka“ máme sedem častí, ak potrebujeme iba tri časti, potom dostaneme prvú časť ako „Bangalore“, druhú časť ako „je“ a tretiu časť ako zvyšok veta, tj „hlavné mesto Karnataka“.
- (Porovnať): Toto sa nepoužíva 99% času, takže sa toho v tejto chvíli nedotýkajme.
Príklad č
Dobre, teraz si ukážeme praktické príklady.
Krok 1: Definujte premennú VBA na uchovanie hodnoty reťazca.
Kód:
Sub String_To_Array () Dim StringValue ako String End Sub

Krok 2: K tejto premennej priraďte reťazec „Bangalúr je hlavným mestom Karnataka.“
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalúr je hlavné mesto Karnatky" End Sub

Krok 3: Ďalej definujte jednu ďalšiu premennú, ktorá môže obsahovať každú časť vyššie uvedenej hodnoty reťazca. Na toto si musíme uvedomiť, že keďže veta obsahuje viac ako jedno slovo, musíme premennú definovať ako „Array“, aby obsahovala viac ako jednu hodnotu.
V tomto prípade máme v reťazci 7 slov, takže definujte pole nasledovne.
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnatky" Dim SingleValue () ako String End Sub

Teraz pre túto premennú poľa použijeme funkciu SPLIT na rozdelenie reťazca na pole v programe Excel VBA.
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub

Výraz je naša hodnota reťazca, tj. Premenná už obsahuje hodnotu reťazca, takže zadajte iba názov premennej.

Oddeľovač v tomto reťazci je znak medzery, takže zadajte to isté.
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub
Odteraz nechajte ostatné časti funkcie SPLIT.
Funkcia SPLIT rozdelí hodnotu reťazca na 7 častí, pričom každé slovo je oddelené na úkor znaku medzery. Pretože sme premennú „SingleValue“ deklarovali ako pole, môžeme tejto premennej priradiť všetkých 7 hodnôt.
Kód môžeme napísať nasledovne.
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub
Spustite kód a v okne správy sa pozrite, čo dostaneme.

Odteraz vidíme prvé slovo „Bangalore“, aby sme zobrazili ďalšie slová, môžeme napísať kód nasledovne.
Kód:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & Single_Value (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) Koncový sub
Teraz spustite kód a v okne správy sa pozrite, čo dostaneme.

Každé slovo bolo rozdelené do polí.
Príklad č
Teraz si predstavme situáciu ukladania týchto hodnôt do buniek, tj. Každé slovo do samostatnej bunky. Z tohto dôvodu musíme do VBA zahrnúť slučku FOR NEXT.
Nasledujúci kód vloží každé slovo do samostatných buniek.
Sub String_To_Array1 () Dim StringValue As String StringValue = "Bangalore je hlavné mesto Karnataka" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer Pre k = 1 až 7 buniek (1, k) .Value = SingleValue (k - 1) Ďalej k Koniec Sub
Týmto sa vloží každé slovo, ako je znázornené na obrázku nižšie.

Na čo treba pamätať
- Pole a slučky sa používajú spoločne na to, aby bol kód dynamický.
- Funkcia SPLIT vyžaduje spoločný oddeľovač, ktorý oddeľuje každé slovo vo vete.
- Dĺžka poľa začína od nuly, nie od 1.