Range.TextToColumns 方法 (Excel) | Microsoft Docs
Range.TextToColumns 方法 (Excel)
- 2019/04/19
将包含文本的一列单元格分解为若干列。
语法
表达式。TextToColumns(Destination、 DataType、 TextQualifier、 ConsecutiveDelimiter、 Tab、分号、逗号、空格、 Other、 OtherChar、 FieldInfo DecimalSeparator、 ThousandsSeparator、 TrailingMinusNumbers)
expression 一个表示 Range 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Destination | 可选 | Variant | 一个 Range 对象,指定 Microsoft Excel 放置结果的位置。 如果该区域大于一个单元格,则使用左上角的单元格。 |
DataType | 可选 | XlTextParsingType | 将被拆分到多列中的文本的格式。 |
TextQualifier | 可选 | XlTextQualifier | 指定是否将单引号、double 或 no 引号用作文本识别符。 |
ConsecutiveDelimiter | 可选 | Variant | 如果为 True, 则Excel 将连续分隔符视为一个分隔符。 默认值为 False。 |
Tab | 可选 | Variant | 如果为 True,则 DataType 为 xlDelimited 并将制表符作为分隔符。 默认值为 False。 |
Semicolon | 可选 | Variant | 如果为 True,则 DataType 为 xlDelimited 并将分号作为分隔符。 默认值为 False。 |
Comma | 可选 | Variant | 如果为 True,则 DataType 为 xlDelimited 并将逗号作为分隔符。 默认值为 False。 |
Space | 可选 | Variant | 如果为 True,则 DataType 为 xlDelimited 并将空格字符作为分隔符。 默认值为 False。 |
Other | 可选 | Variant | 如果为 True,则 DataType 为 xlDelimited 并将由 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 设置进行分列。
Array(Array(3, 9), Array(1, 2))
如果源数据具有固定宽度的列,则每个双元素数组的第一个元素指定列中的起始字符位置(作为整数;0(零)是第一个字符)。 两元素数组的第二个元素将列的分析选项指定为从1到9的数字, 如前面所列。
以下示例从固定宽度的文件中解析两个列,第一列从行的开头开始,并扩展为 10 个字符。 第二列从位置 15 开始并到达行尾。 为避免在位置 10 和位置 15 之间包含字符,Microsoft Excel 会添加跳过的列条目。
Array(Array(0, 1), Array(10, 9), Array(15, 1))
示例
此示例将剪贴板的内容(包含空格分隔的文本表)转换为 Sheet1 上的单独列。 可以在记事本或写字板(或其他文本编辑器)中创建一个简单的以空格分隔的表,将文本表复制到剪贴板,切换到 Microsoft Excel,然后运行此示例。
Worksheets("Sheet1").Activate ActiveSheet.Paste Selection.TextToColumns DataType:=xlDelimited, _ ConsecutiveDelimiter:=True, Space:=True