如何在vba中实现将单列数据分列为多列数据的功能?

在excel的“数据”选项卡下的“数据工具”组中有“分列”功能,可以实现将单列数据按照固定宽度或者指定的分隔符进行分列。

在vba中可以使用range对象的TextToColumns方法实现以上功能。

它的语法如下:

其中参数Destination为分列后的数据所存放的单元格区域的起始位置;

DataType参数指定是按照分隔符分列还是按照固定宽度分列;

TextQualifier参数指定是以双引号还是单引号作为识别文本的限定符,或者是不需要用限定符识别文本;

ConsecutiveDelimiter参数表示是否将连续的分隔符看作一个分隔符还是多个分隔符;

Tab , Semicolon , Comma , Space 参数分别表示分隔符是Tab、分号、逗号还是空格;

Other参数表示分隔符是其它字符;

OtherChar参数指定其它分隔符是什么字符‘;

FieldInfo参数表示分列后的各个列的具体格式,一般情况下excel会自动转换;

DecimalSeparator , ThousandsSeparator参数分别表示以怎样的分隔符来识别实数和千分位符号。

比如如下的代码可以将A列按照逗号分隔符分列:

我们有时候需要用分列来转换单列的格式,比如单列的格式是文本格式,需要用分列转换为数值格式,这时候可以直接使用如下的代码:

       

发表评论