Co to jest funkcja podziału VBA w programie Excel?
Funkcja Split w VBA to bardzo przydatna funkcja ciągów, która służy do dzielenia ciągów na wiele podciągów na podstawie separatora dostarczonego do funkcji i metody porównania, są też inne funkcje ciągów, które konwertują ciąg na podciąg, ale funkcja dzielenia może podzielić ciąg w więcej niż jeden podciąg.
W normalnej funkcji LEFT arkusza, funkcje MID i RIGHT w programie Excel są używane jako funkcje tekstowe w programie Excel w celu wyodrębnienia części zdania. Na przykład wyodrębnienie imienia, drugiego imienia i nazwiska to typowe scenariusze, które widzieliśmy. Ale w VBA mamy bardziej wszechstronną funkcję o nazwie SPLIT, która wykona dla Ciebie podobną pracę. SPLIT to wbudowana funkcja w Excel VBA, która może podzielić podane zdanie na podstawie separatora. Na przykład, jeśli chcesz podzielić adres e-mail na różne części, wspólnym elementem adresu e-mail jest „@” we wszystkich identyfikatorach e-mail, więc „@” staje się tutaj separatorem.

Funkcja podziału łańcucha VBA
Podobnie jak wszystkie inne funkcje, split również ma swoją własną składnię. Poniżej znajdują się parametry funkcji Split string programu Excel VBA.

- Wartość lub wyrażenie: To nic innego jak rzeczywista wartość, którą próbujemy podzielić. Na przykład, jeśli chcesz podzielić imię i nazwisko, pełna nazwa jest tutaj wartością.
- (Separator): Jaki jest wspólny element dzielenia wartości lub wyrażenia? W e-mailu „@” jest wspólnym elementem, w adresie przecinek (,) jest wspólnym elementem. Jeśli to zignorujesz, traktuje znak spacji jako wartość domyślną.
- (Limit): ile chcesz podciągów z podanej wartości lub wyrażenia. Na przykład, jeśli wartość to „Nazywam się Excel”, jeśli podasz 3 jako limit, wynik zostanie wyświetlony w trzech wierszach, takich jak „Mój”, „nazwa”, „to Excel”.
- (Porównaj): Ponieważ nie używamy argumentu porównania, pomiń ten opcjonalny argument.
W kolejnych sekcjach artykułu zobaczymy, jak praktycznie korzystać z funkcji SPLIT w programie Excel VBA.
Przykłady funkcji Split String w języku VBA
Poniżej znajdują się praktyczne przykłady funkcji Split w Excel VBA.
Przykład 1 - Podziel zdanie
Split zwraca wynik w tablicy, która zaczyna się od 0. Wszystkie tablice zaczynają się od 0, a nie od 1.
Załóżmy, że w komórce A1 znajduje się słowo „Nazywam się Excel VBA”.

Teraz chcesz podzielić to zdanie na części, takie jak „Moje”, „Imię”, „jest”, „Excel”, „VBA”. Korzystając z funkcji Excel VBA SPLIT String możemy zwrócić ten wynik.
Krok 1: Uruchom makro z nazwą.

Kod:
Sub Split_Example1 () End Sub Krok 2: Zadeklaruj trzy zmienne.

Kod:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String End Sub
Krok 3: Teraz dla zdefiniowanej zmiennej Mój tekst przypisuje słowo „Nazywam się Excel VBA” .

Kod:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Nazywam się Excel VBA" End Sub
Krok 4: Teraz dla zmiennej My Result zastosuj funkcję podziału łańcucha VBA.

Kod:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Nazywam się Excel VBA" MyResult = Split (End Sub
Krok 5: Wyrażenie to nasza wartość tekstowa. Ponieważ przypisaliśmy już naszą wartość tekstową do zmiennej Mój tekst, wprowadź ten argument tutaj.

Kod:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Nazywam się Excel VBA" MyResult = Split (MyText) End Sub
Uwaga: tak jak teraz zignoruj wszystkie inne parametry.
Krok 6: Więc teraz Mój wynik przechowuje ten wynik podziału. Jak powiedziałem wcześniej w poście, funkcja split przechowuje wynik jako tablicę, więc tutaj
- Mój wynik (0) = „Mój”
- Mój wynik (1) = „Nazwa”
- Mój wynik (2) = „jest”
- Mój wynik (3) = „Excel”
- Mój wynik (4) = „VBA”
Mimo że ten kod nie ma żadnego wpływu na uruchomienie funkcji SPLIT, możemy go użyć.
Przykład # 2 - VBA SPLIT String z funkcją UBOUND
Aby zapisać wynik funkcji SPLIT, możemy użyć funkcji vba UBOUND wraz z funkcją SPLIT.
UBOUND zwróci maksymalną długość tablicy. W powyższym przykładzie maksymalna długość tablicy wynosiła 5.
Weź to samo słowo „Nazywam się Excel VBA”. Podzielmy to słowo i zapiszmy od komórki A1.
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
To był przewodnik po funkcji podziału VBA. Tutaj dowiedzieliśmy się, jak korzystać z funkcji Split String w języku VBA w programie Excel, wraz z kilkoma praktycznymi przykładami i szablonem programu Excel do pobrania. Poniżej znajduje się kilka przydatnych artykułów Excel związanych z VBA -
- Jak włączyć RegEx w VBA?
- Funkcja StrComp w Excel VBA
- Obiekt VBA WorkBook
- Funkcja uśpienia VBA w programie Excel
- Utwórz tabelę przestawną w Excel VBA
- Wykonuj pętlę do czasu w VBA
- Wybierz komórkę w VBA
- Funkcja arkusza roboczego w VBA
- Indeks dolny poza zakresem