首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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欢迎参考如下链接:

VBA的常见使用方式介绍

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OgfFcZW1KGdHVRfBqof0H9FA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券