Vba: как преобразовать текст в столбцы
Вы можете использовать метод Range.TextToColumns в VBA для преобразования текстовой ячейки в столбцы.
Следующие примеры показывают, как использовать этот метод на практике в различных сценариях.
Пример 1. Преобразование текста в столбцы (пробел в качестве разделителя)
Предположим, у нас есть следующий список имен в диапазоне A1:A9 в Excel:
Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы, используя пробелы в качестве разделителей:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.
Примечание . Аргумент ConsecutiveDelimiter:=True указывает VBA рассматривать последовательные разделители вместе как один разделитель.
Пример 2. Преобразование текста в столбцы (запятая в качестве разделителя)
Предположим, у нас есть следующий список имен в диапазоне A1:A9 , разделенных запятыми:
Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы, используя запятые в качестве разделителей:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.
Пример 3. Преобразование текста в столбцы (текст заключен в двойные кавычки)
Предположим, у нас есть следующий список имен в диапазоне A1:A9 , разделенных пробелами и включающих двойные кавычки:
Мы можем создать следующий макрос для преобразования текста в каждой ячейке в отдельные столбцы:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
Обратите внимание, что текст в каждой ячейке преобразован в отдельные столбцы.
Обратите внимание, что мы использовали аргумент TextQualifier:=xlDoubleQuote , чтобы сообщить VBA, что текст заключен в двойные кавычки.
Примечание . Полную документацию метода TextToColumns в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью VBA:
VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку
VBA: как подсчитать ячейки с определенным текстом