Vba: как преобразовать текст в столбцы


Вы можете использовать метод Range.TextToColumns в VBA для преобразования текстовой ячейки в столбцы.

Следующие примеры показывают, как использовать этот метод на практике в различных сценариях.

Пример 1. Преобразование текста в столбцы (пробел в качестве разделителя)

Предположим, у нас есть следующий список имен в диапазоне A1:A9 в Excel:

Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы, используя пробелы в качестве разделителей:

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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA преобразует текст в столбцы

Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.

Примечание . Аргумент ConsecutiveDelimiter:=True указывает VBA рассматривать последовательные разделители вместе как один разделитель.

Пример 2. Преобразование текста в столбцы (запятая в качестве разделителя)

Предположим, у нас есть следующий список имен в диапазоне A1:A9 , разделенных запятыми:

Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы, используя запятые в качестве разделителей:

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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA преобразует текст в столбцы

Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.

Пример 3. Преобразование текста в столбцы (текст заключен в двойные кавычки)

Предположим, у нас есть следующий список имен в диапазоне A1:A9 , разделенных пробелами и включающих двойные кавычки:

Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы:

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

Когда мы запускаем этот макрос, мы получаем следующий вывод:

VBA преобразует текст в столбцы

Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.

Обратите внимание, что мы использовали аргумент TextQualifier:=xlDoubleQuote , чтобы сообщить VBA, что текст заключен в двойные кавычки.

Примечание . Полную документацию метода TextToColumns в VBA можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью VBA:

VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать ячейки с определенным текстом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *