Vba:如何将文本转换为列


您可以使用 VBA 中的Range.TextToColumns方法将文本单元格转换为列。

下面的例子展示了如何在不同场景下实际使用该方法。

示例 1:将文本转换为列(空格作为分隔符)

假设我们在 Excel 中的A1:A9范围内有以下名称列表:

我们可以创建以下宏,使用空格作为分隔符,将每个单元格中的文本转换为单独的列:

 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 文本用双引号引起来。

注意:您可以在此处找到 VBA 中TextToColumns方法的完整文档。

其他资源

以下教程说明如何使用 VBA 执行其他常见任务:

VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注