TextToColumns详细用法和例子吗? 如题函数可以实现以上的功能不,文本文件数据是固定的可能有几百行,截取固定的字符入在excel不同的列,文件没有逗号或者什么做为分隔符的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是在excel里面操作:选取列,菜单"数据",分列,"固定宽度"如果你要用vb操作excel实现导入数据然后分列,可以先填充数据到固定的列,然后用录制宏,进行上面的操作.最好把宏代码在vb里实现. Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(13, 1), Array(18, 1), Array(26, 1)), _ TrailingMinusNumbers:=True 查看 。csv 文件 实际上就是 逗号和回车分割的excel 后面的Array(6, 1), Array(13, 1), Array(18, 1), Array(26, 1)) 怎么解释啊!唉吖! 那些(6,1),(13,1),(18,1)应该是第一列从0位置开始,第二列从6字符位置开始,第三列从13字符开始...以下是vba的帮助.LZ这样太没有效率了,应该自己去看录制的宏,自己看vba,自己在TextToColumns上按F1-----------------TextToColumns 方法参阅应用于示例特性将包含文本的一列单元格分解为若干列。expression.TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers)expression 必需。该表达式返回“应用于”列表中的对象之一。Destination Variant 类型,可选。指定 Microsoft Excel 放置结果的位置的 Range 对象。如果该区域大于一个单元格,请使用左上角的单元格。DataType XlTextParsingType 类型,可选。将被拆分到多列中的文本的格式。XlTextParsingType 可为以下 XlTextParsingType 常量之一。 xlDelimited 默认值 xlFixedWidth TextQualifier XlTextQualifier 类型,可选。XlTextQualifier 可为以下 XlTextQualifier 常量之一。 xlTextQualifierDoubleQuote 为默认值 xlTextQualifierNone xlTextQualifierSingleQuote ConsecutiveDelimiter Variant 类型,可选。如果该值为 True,则 Microsoft 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 类型,可选(当 Other 为 True 时为必需)。当 Other 为 True 时的分隔符。如果指定了若干字符,则仅使用其中的第一个字符而忽略其他字符。FieldInfo Variant 类型,可选。包含单列数据拆分信息的数组。对本参数的解释取决于 DataType 的值。如果此数据由分隔符分隔,则本参数为由两元素数组组成的数组,其中每个两元素数组指定一个特定列的转换选项。第一个元素为列标(从 1 开始),第二个元素是 xlColumnDataType 常量之一,用以指定该列的拆分方式。XlColumnDataType 可为以下 XlColumnDataType 常量之一。 xlGeneralFormat 表示常规 xlTextFormat 表示文本 xlMDYFormat 表示 MDY 日期xlDMYFormat 表示 DMY 日期xlYMDFormat 表示 YMD 日期xlMYDFormat 表示 MYD 日期xlDYMFormat 表示 DYM 日期xlYDMFormat 表示 YDM 日期xlEMDFormat 表示 EMD 日期xlSkipColumn 表示跳过列 只有在安装并选定了台湾地区语言支持时才可使用 xlEMDFormat。xlEMDFormat 常量指定使用台湾地区纪元日期。列识别符可为任意顺序。在输入数据中,如果某一特定列没有给定列识别符,那么该列以 General 形式进行拆分。在下例中,跳过了源数据的第三列,第一列以文本形式进行拆分,而其余各列均以 General 形式进行拆分。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)) DecimalSeparator String 类型,可选。表示在识别数字时,Microsoft Excel 使用的小数分隔符。默认设置为系统设置。ThousandsSeparator String 类型,可选。表示在识别数字时,Excel 使用的千位分隔符。默认设置为系统设置。TrailingMinusNumbers Variant 类型,可选。以减号字符开始的数字。下表显示了使用不同的导入设置向 Excel 中导入文本时的结果。数字结果显示在最右边的列中。系统十位分隔符 系统千位分隔符 十位分隔符值 千位分隔符值 原始文本 单元格的值(数据类型) 句号 逗号 逗号 句号 123.123,45 123,123.45(数字) 句号 逗号 逗号 逗号 123.123,45 123.123,45(文本) 逗号 句号 逗号 句号 123,123.45 123,123.45(数字) 句号 逗号 句号 逗号 123 123.45 123 123.45(文本) 句号 逗号 句号 空格 123 123.45 123,123.45(数字) 示例本示例将剪贴板中的内容(以空格分隔的文字表格)转换为 Sheet1 中单独的列内。可用“记事本”或“写字板”(或其他文本编辑器)创建简单的以空格分隔的表格,将该表格复制到剪贴板,再切换到 Microsoft Excel,然后运行本示例。Worksheets("Sheet1").ActivateActiveSheet.PasteSelection.TextToColumns DataType:=xlDelimited, _ ConsecutiveDelimiter:=True, Space:=True 多谢spt_petrolor 我大概了解了!! 如何使后缀名为.bat的文件运行不可见? 求助:如何用VBScript脚本,Window中实现禁用网卡 *******请教一个字符编码的问题!急******** 各位大师:如何实现在一个图片背景下加入多个小图标?(小图标可拖动)急!!! 怎么做个控件让用户安装然后设置主页为我的首页 菜鸟请教关于连接数据库的问题,请各位大虾赐教! "另存为"“打印” 急求~ ActiveReports.net 的注册码是多少? MSFlexGrid1控件刷新的问题 vb读写内存求助 关于文本框中多行文字的行距问题
FieldInfo:=Array(Array(0, 1), Array(6, 1), Array(13, 1), Array(18, 1), Array(26, 1)), _
TrailingMinusNumbers:=True
后面的Array(6, 1), Array(13, 1), Array(18, 1), Array(26, 1)) 怎么解释啊!唉吖!
那些(6,1),(13,1),(18,1)应该是第一列从0位置开始,第二列从6字符位置开始,第三列从13字符开始...以下是vba的帮助.LZ这样太没有效率了,应该自己去看录制的宏,自己看vba,自己在TextToColumns上按F1
-----------------TextToColumns 方法
参阅应用于示例特性将包含文本的一列单元格分解为若干列。expression.TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers)
expression 必需。该表达式返回“应用于”列表中的对象之一。Destination Variant 类型,可选。指定 Microsoft Excel 放置结果的位置的 Range 对象。如果该区域大于一个单元格,请使用左上角的单元格。DataType XlTextParsingType 类型,可选。将被拆分到多列中的文本的格式。XlTextParsingType 可为以下 XlTextParsingType 常量之一。
xlDelimited 默认值
xlFixedWidth TextQualifier XlTextQualifier 类型,可选。XlTextQualifier 可为以下 XlTextQualifier 常量之一。
xlTextQualifierDoubleQuote 为默认值
xlTextQualifierNone
xlTextQualifierSingleQuote ConsecutiveDelimiter Variant 类型,可选。如果该值为 True,则 Microsoft 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 类型,可选(当 Other 为 True 时为必需)。当 Other 为 True 时的分隔符。如果指定了若干字符,则仅使用其中的第一个字符而忽略其他字符。FieldInfo Variant 类型,可选。包含单列数据拆分信息的数组。对本参数的解释取决于 DataType 的值。如果此数据由分隔符分隔,则本参数为由两元素数组组成的数组,其中每个两元素数组指定一个特定列的转换选项。第一个元素为列标(从 1 开始),第二个元素是 xlColumnDataType 常量之一,用以指定该列的拆分方式。XlColumnDataType 可为以下 XlColumnDataType 常量之一。
xlGeneralFormat 表示常规
xlTextFormat 表示文本
xlMDYFormat 表示 MDY 日期xlDMYFormat 表示 DMY 日期xlYMDFormat 表示 YMD 日期xlMYDFormat 表示 MYD 日期xlDYMFormat 表示 DYM 日期xlYDMFormat 表示 YDM 日期xlEMDFormat 表示 EMD 日期xlSkipColumn 表示跳过列
只有在安装并选定了台湾地区语言支持时才可使用 xlEMDFormat。xlEMDFormat 常量指定使用台湾地区纪元日期。列识别符可为任意顺序。在输入数据中,如果某一特定列没有给定列识别符,那么该列以 General 形式进行拆分。在下例中,跳过了源数据的第三列,第一列以文本形式进行拆分,而其余各列均以 General 形式进行拆分。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))
DecimalSeparator String 类型,可选。表示在识别数字时,Microsoft Excel 使用的小数分隔符。默认设置为系统设置。ThousandsSeparator String 类型,可选。表示在识别数字时,Excel 使用的千位分隔符。默认设置为系统设置。TrailingMinusNumbers Variant 类型,可选。以减号字符开始的数字。下表显示了使用不同的导入设置向 Excel 中导入文本时的结果。数字结果显示在最右边的列中。系统十位分隔符 系统千位分隔符 十位分隔符值 千位分隔符值 原始文本 单元格的值(数据类型)
句号 逗号 逗号 句号 123.123,45 123,123.45(数字)
句号 逗号 逗号 逗号 123.123,45 123.123,45(文本)
逗号 句号 逗号 句号 123,123.45 123,123.45(数字)
句号 逗号 句号 逗号 123 123.45 123 123.45(文本)
句号 逗号 句号 空格 123 123.45 123,123.45(数字) 示例
本示例将剪贴板中的内容(以空格分隔的文字表格)转换为 Sheet1 中单独的列内。可用“记事本”或“写字板”(或其他文本编辑器)创建简单的以空格分隔的表格,将该表格复制到剪贴板,再切换到 Microsoft Excel,然后运行本示例。Worksheets("Sheet1").Activate
ActiveSheet.Paste
Selection.TextToColumns DataType:=xlDelimited, _
ConsecutiveDelimiter:=True, Space:=True