Jak podzielić ciąg na tablicę w VBA (3 sposoby)

  • Udostępnij To
Hugh West

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

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

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.