Vba:如何将文本转换为列
您可以使用 VBA 中的Range.TextToColumns方法将文本单元格转换为列。
下面的例子展示了如何在不同场景下实际使用该方法。
示例 1:将文本转换为列(空格作为分隔符)
假设我们在 Excel 中的A1:A9范围内有以下名称列表:
我们可以创建以下宏,使用空格作为分隔符,将每个单元格中的文本转换为单独的列:
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 文本用双引号引起来。
注意:您可以在此处找到 VBA 中TextToColumns方法的完整文档。
其他资源
以下教程说明如何使用 VBA 执行其他常见任务:
VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格