Vba: jak przekonwertować tekst na kolumny


Aby przekonwertować komórkę tekstową na kolumny, możesz użyć metody Range.TextToColumns w języku VBA.

Poniższe przykłady pokazują, jak zastosować tę metodę w praktyce w różnych scenariuszach.

Przykład 1: Konwertuj tekst na kolumny (spacja jako ogranicznik)

Załóżmy, że mamy następującą listę nazw z zakresu A1:A9 w Excelu:

Możemy utworzyć następujące makro, aby przekonwertować tekst w każdej komórce na osobne kolumny, używając spacji jako ograniczników:

 Sub TextToCols()
    Range(" A1:A9 ").TextToColumns_
    ConsecutiveDelimiter:=True, _
    Space:=True
End Sub

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

VBA konwertuje tekst na kolumny

Zwróć uwagę, że tekst w każdej komórce został przekonwertowany na osobne kolumny.

Uwaga : Argument ConsecutiveDelimiter:=True informuje VBA, aby traktował kolejne ograniczniki razem jako pojedynczy ogranicznik.

Przykład 2: Konwertuj tekst na kolumny (przecinek jako ogranicznik)

Załóżmy, że mamy następującą listę nazw w zakresie A1:A9 oddzielonych przecinkami:

Możemy utworzyć następujące makro, aby przekonwertować tekst w każdej komórce na osobne kolumny, używając przecinków jako ograniczników:

 Sub TextToCols()
    Range(" A1:A9 ").TextToColumns_
    ConsecutiveDelimiter:=True, _
    Comma:=True
End Sub

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

VBA konwertuje tekst na kolumny

Zwróć uwagę, że tekst w każdej komórce został przekonwertowany na osobne kolumny.

Przykład 3: Konwertuj tekst na kolumny (tekst ujęty w cudzysłów)

Załóżmy, że mamy następującą listę nazw z zakresu A1:A9 oddzielonych spacjami i zawierających podwójne cudzysłowy:

Możemy utworzyć następujące makro, aby przekonwertować tekst w każdej komórce na osobne kolumny:

 Sub TextToCols()
    Range(" A1:A9 ").TextToColumns_
    TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=True, _
    Space:=True
End Sub

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

VBA konwertuje tekst na kolumny

Zwróć uwagę, że tekst w każdej komórce został przekonwertowany na osobne kolumny.

Zauważ, że użyliśmy argumentu TextQualifier:=xlDoubleQuote, aby poinformować VBA, że tekst został ujęty w podwójne cudzysłowy.

Uwaga : Pełną dokumentację metody TextToColumns w VBA 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 *