Range.TextToColumns 方法 (Excel) | Microsoft Docs

Range.TextToColumns 方法 (Excel)

  • 2019/04/19

将包含文本的一列单元格分解为若干列。

语法

表达式TextToColumns(DestinationDataTypeTextQualifierConsecutiveDelimiterTab分号逗号空格OtherOtherCharFieldInfo DecimalSeparatorThousandsSeparatorTrailingMinusNumbers)

expression 一个表示 Range 对象的变量。

参数

参数
名称 必需/可选 数据类型 说明
Destination 可选 Variant 一个 Range 对象,指定 Microsoft Excel 放置结果的位置。 如果该区域大于一个单元格,则使用左上角的单元格。
DataType 可选 XlTextParsingType 将被拆分到多列中的文本的格式。
TextQualifier 可选 XlTextQualifier 指定是否将单引号、double 或 no 引号用作文本识别符。
ConsecutiveDelimiter 可选 Variant 如果为 True, 则Excel 将连续分隔符视为一个分隔符。 默认值为 False
Tab 可选 Variant 如果为 True,则 DataTypexlDelimited 并将制表符作为分隔符。 默认值为 False
Semicolon 可选 Variant 如果为 True,则 DataTypexlDelimited 并将分号作为分隔符。 默认值为 False
Comma 可选 Variant 如果为 True,则 DataTypexlDelimited 并将逗号作为分隔符。 默认值为 False
Space 可选 Variant 如果为 True,则 DataTypexlDelimited 并将空格字符作为分隔符。 默认值为 False
Other 可选 Variant 如果为 True,则 DataTypexlDelimited 并将由 OtherChar 参数指定的字符作为分隔符。 默认值为 False
OtherChar 可选 Variant 如果_其他_条件为True, 则为必填项;如果为True, __ 则为分隔符字符。 如果指定了多个字符,则仅使用字符串中的第一个字符而忽略剩余字符。
FieldInfo 可选 Variant 包含各个数据列解析信息的数组。 解释取决于_DataType_的值。

分隔数据时,此参数是一个双元素数组,每个双元素数组指定特定列的转换选项。 第一个元素是列号 (从1开始), 第二个元素是指定如何分析列的**XlColumnDataType** 常量之一。

DecimalSeparator 可选 Variant 识别数字时,Microsoft Excel 使用的小数分隔符。 默认设置为系统设置。
ThousandsSeparator 可选 Variant 识别数字时,Excel 使用的千位分隔符。 默认设置为系统设置。
TrailingMinusNumbers 可选 Variant 以减号字符开始的数字。

返回值

Variant

注解

下表显示了使用不同的导入设置向 Excel 中导入文本时的结果。 数字结果显示在最右边的列中。

注解
系统小数分隔符 系统千位分隔符 小数分隔符值 千位分隔符值 原始文本 单元格的值(数据类型)
Period 逗号 逗号 Period 123.123,45 123,123.45(数字)
Period 逗号 逗号 逗号 123.123,45 123.123,45(文本)
逗号 Period 逗号 Period 123,123.45 123,123.45(数字)
Period 逗号 Period 逗号 123 123.45 123 123.45(文本)
句号 逗号 句号 空格 123 123.45 123,123.45(数字)

仅当安装并选择了繁体中文支持时, 才能使用XlColumnDataType枚举的xlEMDFormat常量。 xlEMDFormat 常量指定使用的中国台湾民国年份日期。

列说明符可为任意顺序。 在输入数据中,如果某一特定列没有给定列说明符,则使用 xlGeneralFormat 设置对该列进行分列。 该示例跳过了源数据的第三列,第一列作为文本进行分列,而其余各列均使用 xlGeneralFormat 设置进行分列。

VB
Array(Array(3, 9), Array(1, 2))

如果源数据具有固定宽度的列,则每个双元素数组的第一个元素指定列中的起始字符位置(作为整数;0(零)是第一个字符)。 两元素数组的第二个元素将列的分析选项指定为从1到9的数字, 如前面所列。

以下示例从固定宽度的文件中解析两个列,第一列从行的开头开始,并扩展为 10 个字符。 第二列从位置 15 开始并到达行尾。 为避免在位置 10 和位置 15 之间包含字符,Microsoft Excel 会添加跳过的列条目。

VB
Array(Array(0, 1), Array(10, 9), Array(15, 1))

示例

此示例将剪贴板的内容(包含空格分隔的文本表)转换为 Sheet1 上的单独列。 可以在记事本或写字板(或其他文本编辑器)中创建一个简单的以空格分隔的表,将文本表复制到剪贴板,切换到 Microsoft Excel,然后运行此示例。

VB
Worksheets("Sheet1").Activate
ActiveSheet.Paste
Selection.TextToColumns DataType:=xlDelimited, _
 ConsecutiveDelimiter:=True, Space:=True
(0)

相关推荐