excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel如何批量分列

在Excel里对某一列进行分列操作大家都会,但如果对多列同时进行分列的话会提示一次只能转换一列数据。

本介绍如何用宏的方式来实现批量分列。思路如下:通过遍历每一列的方式对分列进行多次重复操作。

如果你需要将工作表里的每一列数据都转化为“常规”格式(“常规”数据格式将数值转换成数字,日期值会转换成日期,其余数据则转换成文本),那么代码如下:


Sub 批量分列为常规格式()

'将活动工作表所有列均转化为常规格式

Dim i As Integer

i = 1

Do While i <= ActiveSheet.UsedRange.Columns.Count

Columns(i).Select

Selection.TextToColumns DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(1, 1), TrailingMinusNumbers:=True

i = i + 1

Loop

End Sub

如果你需要将工作表里的每一列数据都转化为文本格式,那么代码如下:


Sub 批量分列为文本格式()

'将活动工作表所有列均转化为文本格式

Dim i As Integer

i = 1

Do While i <= ActiveSheet.UsedRange.Columns.Count

Columns(i).Select

Selection.TextToColumns DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(1, 2), TrailingMinusNumbers:=True

i = i + 1

Loop

End Sub

你会发现两段代码的区别在于Array后面的(1,1)变成了(1,2)。括号里的第一个1代表着1列,逗号后面的1和2分别代表着“常规”以及“文本”类型。关于这一点,微软对Excel列的数据类型❶有进一步的概括:

现在你可以通过只改变Array后面括号的内容来按需求自己编写代码啦!这里就不进一步进行列举了。如有任何问题欢迎留言沟通。

参考文献

❶o365devx. (2022年4月). XlColumnDataType 枚举(Excel). Microsoft. 2022年12月引用自
https://learn.microsoft.com/zh-cn/office/vba/api/Excel.XlColumnDataType.

如果不懂得怎么运用VBA欢迎参考如下链接:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接