Funkcia rozdelenia VBA (príklady) Ako rozdeliť reťazce v programe Excel VBA?

Čo je funkcia rozdelenia VBA v programe Excel?

Funkcia Split vo VBA je veľmi užitočná funkcia reťazca, ktorá sa používa na rozdelenie reťazcov na viac podreťazcov na základe oddeľovača poskytnutého funkcii a porovnávacej metóde. Existujú aj ďalšie funkcie reťazca, ktoré prevádzajú reťazec na podreťazec, ale funkcia split môže rozdeliť reťazec do viacerých podreťazcov.

V normálnom pracovnom hárku sa funkcie LEFT, MID a RIGHT v programe Excel používajú ako textové funkcie v programe Excel na extrahovanie časti vety. Napríklad extrakcia mena, priezviska a priezviska sú bežné scenáre, ktoré sme videli. Ale vo VBA máme univerzálnejšiu funkciu nazvanú SPLIT, ktorá urobí podobnú prácu za vás. SPLIT je zabudovaná funkcia v programe Excel VBA, ktorá umožňuje rozdeliť zadanú vetu na základe oddeľovača. Napríklad ak chcete rozdeliť e-mailovú adresu na rôzne časti, spoločným prvkom v e-mailovej adrese je vo všetkých identifikátoroch e-mailových adries znak „@“, preto sa z tohto znaku „@“ stane oddeľovač.

Funkcia VBA Split String

Rovnako ako všetky ostatné funkcie, aj split má svoju vlastnú syntax. Ďalej sú uvedené parametre funkcie reťazca Excel VBA Split.

  • Hodnota alebo výraz: Toto nie je nič iné ako skutočná hodnota, ktorú sa pokúšame rozdeliť. Napríklad ak chcete rozdeliť meno a priezvisko, je tu hodnota celé meno.
  • (Oddeľovač): Aký je spoločný prvok na rozdelenie hodnoty alebo výrazu? V e-maile je spoločný prvok „@“, v adrese spoločný prvok čiarka (,). Ak to budete ignorovať, bude sa znak medzery považovať za predvolenú hodnotu.
  • (Limit): Koľko podreťazcov chcete z hodnoty alebo výrazu, ktoré ste zadali. Napríklad ak je hodnota „Moje meno je Excel“, ak zadáte 3 ako limit, výsledok sa zobrazí v troch riadkoch ako „Moje“, „meno“, „je Excel“.
  • (Porovnať): Pretože nepoužívame argument porovnania, tento voliteľný argument preskočte.

V ďalších častiach článku si ukážeme, ako prakticky využiť funkciu SPLIT v exceli VBA.

Príklady funkcie rozdeleného reťazca VBA

Ďalej uvádzame praktické príklady funkcie rozdelenia v programe Excel VBA.

Príklad č. 1 - Rozdelenie vety

Split vráti výsledok v poli, ktoré bude začínať od 0. Všetky polia sú začínajúce od 0, nie od 1.

Predpokladajme, že v bunke A1 máte slovo „Moje meno je Excel VBA“.

Teraz chcete túto vetu rozdeliť na kúsky ako „Moje“, „Meno“, „je“, „Excel“, „VBA“. Pomocou funkcie Excel VBA SPLIT String môžeme tento výsledok vrátiť.

Krok 1: Spustite makro s názvom.

Kód:

Sub Split_Example1 () End Sub Krok 2: Deklarujte tri premenné.

Kód:

Sub Split_Example1 () Dim MyText ako String Dim i As Integer Dim MyResult () As String End Sub

Krok 3: Teraz pre definovanú premennú môj text priradí slovo „volám sa Excel VBA“ .

Kód:

Sub Split_Example1 () Dim MyText ako reťazec Dim i As Integer Dim MyResult () ako reťazec MyText = "Volám sa Excel VBA" End Sub

Krok 4: Teraz pre moju premennú Výsledok použite funkciu rozdeleného reťazca VBA.

Kód:

Sub Split_Example1 () Dim MyText ako String Dim i As Integer Dim MyResult () As String MyText = "Volám sa Excel VBA" MyResult = Split (End Sub

Krok 5: Výraz je naša textová hodnota. Pretože sme našej textovej hodnote už priradili premennú Môj text, zadajte tento argument tu.

Kód:

Sub Split_Example1 () Dim MyText ako reťazec Dim i As Integer Dim MyResult () ako reťazec MyText = "Moje meno je Excel VBA" MyResult = Split (MyText) End Sub

Poznámka: Rovnako ako teraz ignorujte všetky ostatné parametre.

Krok 6: Takže môj výsledok teraz drží tento rozdelený výsledok. Ako som povedal skôr v príspevku, funkcia split ukladá výsledok ako pole, takže tu

  • Môj výsledok (0) = „Môj“
  • Môj výsledok (1) = „Meno“
  • Môj výsledok (2) = „je“
  • Môj výsledok (3) = „Excel“
  • Môj výsledok (4) = „VBA“

Aj keď tento kód nemá žiadny vplyv na spustenie funkcie SPLIT, môžeme ho použiť.

Príklad č. 2 - VBA SPLIT reťazec s funkciou UBOUND

Na uloženie výsledku funkcie SPLIT môžeme spolu s funkciou SPLIT použiť funkciu vba UBOUND.

UBOUND vráti maximálnu dĺžku poľa. Vo vyššie uvedenom príklade bola maximálna dĺžka poľa 5.

Použite rovnaké slovo „Moje meno je Excel VBA“. Rozdeľme toto slovo a uložme od bunky A1 ďalej.

Step 1: Let’s continue from where we left off in the previous example.

Step 2: Now apply FOR NEXT LOOP in VBA from 0 to maximum length of the array i.e. UBOUND.

The reason we started from zero because SPLIT will store the result from zero, not from 1.

Step 3: Now apply VBA CELLS property and store the result.

Code:

Cells(i + 1, 1).Value = MyResult(i)

Step 4: Run this code, we would have split values.

Complete Code:

Sub Split_Example1() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) For i = 0 To UBound(MyResult) Cells(i + 1, 1).Value = MyResult(i) Next i End Sub

Return Word Count

We can also show the total number of words in the supplied value. Use the below code to show the total number of word counts. Code:

Sub Split_Example2() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) i = UBound(MyResult()) + 1 MsgBox "Total Words Count is " & i End Sub

Copy and paste the above VBA code and run it, the message box will return the result.

Things to Remember

  • If the delimiter is not supplied SPLIT automatically thinks the delimiter as space.
  • If you want to split except space then you need to specify the delimiter in double-quotes.
  • SPLIT stores the result as array results.
  • UBOUND function returns the maximum length of the array.

Recommended Articles

Toto bol sprievodca funkciou rozdelenia VBA. Tu sme sa naučili, ako používať funkciu rozdelenia reťazcov VBA v programe Excel spolu s praktickými príkladmi a šablónou programu Excel na stiahnutie. Ďalej uvádzame niektoré užitočné články programu Excel týkajúce sa VBA -

  • Ako povoliť RegEx vo VBA?
  • Funkcia StrComp v Exceli VBA
  • Objekt zošita VBA
  • Funkcia spánku VBA v programe Excel
  • Vytvorte kontingenčnú tabuľku v programe Excel VBA
  • Robiť do slučky vo VBA
  • Vyberte bunku vo VBA
  • Funkcia listu vo VBA
  • Dolný index mimo rozsahu

Zaujímavé články...