如何在vba中实现将单列数据分列为多列数据的功能? | 您所在的位置:网站首页 › 会计分隔符是什么样的表格中 › 如何在vba中实现将单列数据分列为多列数据的功能? |
如何在vba中实现将单列数据分列为多列数据的功能?
2018年5月7日
作者:水星Excel
10,650 次浏览
暂无评论
在excel的“数据”选项卡下的“数据工具”组中有“分列”功能,可以实现将单列数据按照固定宽度或者指定的分隔符进行分列。 在vba中可以使用range对象的TextToColumns方法实现以上功能。 它的语法如下: expression . TextToColumns( Destination , DataType , TextQualifier , ConsecutiveDelimiter , Tab , Semicolon , Comma , Space , Other , OtherChar , FieldInfo , DecimalSeparator , ThousandsSeparator , TrailingMinusNumbers )其中参数Destination为分列后的数据所存放的单元格区域的起始位置; DataType参数指定是按照分隔符分列还是按照固定宽度分列; TextQualifier参数指定是以双引号还是单引号作为识别文本的限定符,或者是不需要用限定符识别文本; ConsecutiveDelimiter参数表示是否将连续的分隔符看作一个分隔符还是多个分隔符; Tab , Semicolon , Comma , Space 参数分别表示分隔符是Tab、分号、逗号还是空格; Other参数表示分隔符是其它字符; OtherChar参数指定其它分隔符是什么字符‘; FieldInfo参数表示分列后的各个列的具体格式,一般情况下excel会自动转换; DecimalSeparator , ThousandsSeparator参数分别表示以怎样的分隔符来识别实数和千分位符号。 比如如下的代码可以将A列按照逗号分隔符分列: Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Excel.ActiveSheet With oWK .Range("a1").EntireColumn.TextToColumns Destination:=.Range("a1"), DataType:=xlDelimited, comma:=True, fieldinfo:=Array(Array(1, 1)) .Columns.AutoFit End With End Sub我们有时候需要用分列来转换单列的格式,比如单列的格式是文本格式,需要用分列转换为数值格式,这时候可以直接使用如下的代码: Sub QQ1722187970() Dim oWK As Worksheet Set oWK = Excel.ActiveSheet With oWK .Range("a1").EntireColumn.TextToColumns .Columns.AutoFit End With End Sub 其它相关文章推荐:如何用vba删除excel单元格区域中的重复值?如何在excel工作表中插入圆形?如何用vba复制粘贴文件?如何在excel工作表中插入半圆?如何用vba批量保护或取消保护excel工作表?如何用vba将ppt另存导出为视频文件? 分类 : VBA , VBA 基础知识 标签 : TextToColumns , 分列 , 分隔符 , 固定宽度 , 格式声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 |
CopyRight 2018-2019 实验室设备网 版权所有 |