Vba: jak podzielić ciąg na tablicę (z przykładem)


Aby podzielić ciąg na tablicę za pomocą języka VBA, możesz użyć następującej podstawowej składni:

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    
    SingleValue = Split(Range(" A " & i), " ")
    
       For j = 1 To 2
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

Ten konkretny przykład dzieli każdy ciąg w zakresie A2:A7 na podstawie spacji w każdym ciągu, a następnie przypisuje wynikowe elementy każdego ciągu do zakresów komórek B2:B7 i C2:C7 .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: użycie języka VBA do podzielenia ciągu na tablicę

Załóżmy, że mamy następującą listę ciągów w Excelu:

Załóżmy, że chcemy podzielić każdy ciąg znaków na podstawie białych znaków, a następnie przypisać powstałe elementy każdego ciągu do nowych komórek.

W tym celu możemy utworzyć następujące makro:

 SubSplitString ()

    Dim SplitValues() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    
    SplitValues = Split(Range(" A " & i), " ")
    
       For j = 1 To 2
           Cells(i, j + 1).Value = SplitValues(j - 1)
       Next j
       
    Next i
    
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

VBA dzieli ciąg na tablicę

Należy pamiętać, że kolumny B i C zawierają imię i nazwisko każdego pełnego imienia i nazwiska w kolumnie A.

Pamiętaj również, że możesz użyć funkcji Split VBA, aby podzielić tablicę na podstawie innego ogranicznika.

Załóżmy na przykład, że mamy następującą listę e-mailową:

Załóżmy, że chcemy podzielić każdy e-mail na tablicę w oparciu o miejsce pojawienia się symbolu @ .

W tym celu możemy utworzyć następujące makro:

 SubSplitString ()

    Dim SplitValues() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    
    SplitValues = Split(Range(" A " & i), " @ ")
    
       For j = 1 To 2
           Cells(i, j + 1).Value = SplitValues(j - 1)
       Next j
       
    Next i
    
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Funkcja Podziel dzieli każdą wiadomość e-mail w kolumnie A na podstawie symbolu @ i wyświetla wynikowe elementy w kolumnach B i C.

Uwaga : Pełną dokumentację funkcji VBA Split znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania przy użyciu języka VBA:

VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg
VBA: Jak liczyć komórki zawierające określony tekst

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *