Spis treści
W tym artykule pokażę, jak można podzielić ciąg znaków na tablicę w VBA . Podziel się jest jedną z najważniejszych i najczęściej używanych funkcji, które wykorzystujemy w VBA Nauczysz się dzielić ciąg znaków w VBA na wszelkie możliwe sposoby.
VBA Funkcja podziału (szybki podgląd)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Pobierz Zeszyt ćwiczeń
Split a String into an Array.xlsm3 Sposoby na podzielenie ciągu na tablicę w VBA
Miejmy w ręku sznurek "Ubiegaliśmy się o wizy USA, Kanady, Australii i Francji". .
Pokażę Ci jak możesz podzielić ten łańcuch na tablicę na wszystkie możliwe sposoby używając Funkcja podziału z VBA .
1) Użyj dowolnego separatora, aby podzielić ciąg na tablicę w VBA.
Możesz użyć dowolnego łańcucha jako separatora, aby podzielić łańcuch na tablicę w VBA .
To może być spacja (" ") , a przecinek (",") , a średnik (":") , pojedynczy znak, ciąg znaków lub cokolwiek.
⧭ Przykład 1:
Podzielmy ciąg znaków używając przecinek jako delimiter.
Linią kodu będzie:
Arr = Split(Text, ",")
Całość Kod VBA będzie:
⧭ VBA Kod:
Sub Split_String() Text = "Ubiegaliśmy się o wizę USA, Kanady, Australii i Francji." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Wyjście:
Spowoduje to podzielenie łańcucha na tablicę składającą się z {"Ubiegaliśmy się o wizę USA", " Kanada", " Australia", " Francja"}.
⧭ Przykład 2:
Możesz również użyć spacja (" ") jako delimiter.
Linią kodu będzie:
Arr = Split(Tekst, " ")
Całość Kod VBA będzie:
⧭ VBA Kod:
Sub Split_String() Text = "Ubiegaliśmy się o wizę USA, Kanady, Australii i Francji." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Wyjście:
Spowoduje to podzielenie łańcucha na tablicę składającą się z {"We", "applied", "for", "the", "visa", "of", "U.S,", "Canada,", "Australia,", "France,"}.
⧭ Rzeczy do zapamiętania:
- Domyślnym ogranicznikiem jest znak spacja (" ") .
- To znaczy, że jeśli nie wstawisz żadnego delimitera, użyje on znaku przestrzeń jako delimiter.
Read More: Podziel ciąg znaków w Excelu (6 odpowiednich sposobów)
Podobne Lektury:
- Podziel tekst na wiele komórek w programie Excel
- VBA, aby uzyskać unikalne wartości z kolumny do tablicy w programie Excel (3 kryteria)
- Excel VBA: Jak filtrować z wieloma kryteriami w tablicy (7 sposobów)
2. podziel łańcuch na tablicę z dowolną liczbą elementów.
Możesz podzielić ciąg na tablicę z dowolną liczbą elementów zgodnie z twoim życzeniem.
Wstaw liczbę pozycji jako 3. argument z Funkcja podziału .
⧭ Przykład:
Podzielmy ten ciąg na części pierwsze 3 elementy z przestrzeń jako delimiter.
Linią kodu będzie:
Arr = Split(Tekst, " ", 3)
I Kod VBA będzie:
⧭ VBA Kod:
Sub Split_String() Text = "Ubiegaliśmy się o wizę USA, Kanady, Australii i Francji." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Wyjście:
Spowoduje to podzielenie łańcucha na tablicę składającą się z pierwszych 3 elementy oddzielone delimiterem przestrzeń .
⧭ Rzeczy do zapamiętania:
- Domyślnym argumentem jest. -1 .
- Oznacza to, że jeśli nie wprowadzisz argumentu, podzieli on ciąg na maksymalną możliwą liczbę razy.
Read More: Jak podzielić ciąg według długości w programie Excel (8 sposobów)
3. użycie delimitera zarówno wrażliwego na wielkość liter, jak i niewrażliwego na wielkość liter, aby podzielić ciąg znaków na tablicę w VBA
Na stronie Funkcja podziału oferuje możliwość użycia zarówno rozróżnianie wielkości liter oraz bez rozróżniania wielkości liter delimiter.
Dla bez rozróżniania wielkości liter delimiter, wstawić 4. argument jako 1.
I za bez rozróżniania wielkości liter delimiter, wstawić 4. argument jako 0 .
⧭ Przykład 1: Delimiter niewrażliwy na wielkość liter
W podanym ciągu rozważmy tekst "ZA" jako delimiter i 2 jako całkowita liczba elementów tablicy.
Teraz, dla bez rozróżniania wielkości liter przypadku, linią kodu będzie:
Arr = Split(Text, "FOR ", 3,1)
I kompletny Kod VBA będzie:
⧭ VBA Kod:
Sub Split_String() Text = "Ubiegaliśmy się o wizę USA, Kanady, Australii i Francji." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Wyjście:
Ponieważ delimiter to. bez rozróżniania wielkości liter tutaj "ZA" będzie działać jak "za" I podzieli ciąg na tablicę składającą się z dwóch elementów.
⧭ Przykład 2: Delimiter wrażliwy na wielkość liter
Ponownie, dla rozróżnianie wielkości liter przypadku, linią kodu będzie:
Arr = Split(Text, "FOR ", 3,0)
I kompletny Kod VBA będzie:
⧭ VBA Kod:
Sub Split_String() Text = "Ubiegaliśmy się o wizę USA, Kanady, Australii i Francji." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Wyjście:
Ponieważ delimiter to. rozróżnianie wielkości liter tutaj "ZA" nie będzie jako "za" I nie podzieli łańcucha na tablicę z dwoma elementami.
Read More: Excel VBA: Usuń duplikaty z tablicy (2 przykłady)
⧭ Rzeczy do zapamiętania:
- Domyślna wartość argumentu to. 0 .
- To znaczy, że jeśli nie umieścisz wartości np. 4. argument, będzie działać dla rozróżnianie wielkości liter mecz.
Wniosek
Dlatego też, korzystając z tych metod, możesz użyć Funkcja podziału z VBA aby podzielić ciąg znaków na tablicę elementów. Masz jakieś pytania? Możesz nas o nie zapytać.