分享

神奇的Excel VBA代码030:工作表数据的拆分-001

 神奇的ExcelVBA 2019-08-31

一段简单的VBA代码,让你自如操作Excel,成为职场达人!

抛砖引玉的场景需求: 工作中我们经常需要将工作表数据进行拆分,将拆分的数据分别粘贴到新工作簿或者追加到已有工作簿中,或者将拆分的数据放到或者追加到当前工作簿中的某个表格中 ! 这就是工作表数据的拆分, 网路中有些插件可以帮助拆分数据, 但是都不是很理想,数据场景变化多, 无法做到统一的拆分标准, 如果你会VBA就可以按照自己的思路随心所欲的拆分工作表数据了。

本篇中采用VBA初学者们经常用的思路:借用Excel自带的筛选功能提取数据,然后复制数据并粘贴到指定工作表中。

场景1: 将下面表格中性别为女的职员信息,放到sheet2工作表中。

标准模块中加入如下代码即可实现上面的演示功能。

Sub 拆分工作表()
Dim sht2 As Worksheet
Set sht2 = Sheets("Sheet2")
'建立筛选器并设置筛选参数
ActiveSheet.UsedRange.AutoFilter Field:=4, Criteria1:="女"
'将筛选结果复制粘贴到指定sht2工作表的A1单元格中
ActiveSheet.UsedRange.Copy sht2.Range("A1")
'取消筛选器
ActiveSheet.UsedRange.AutoFilter
'sht2工作表已用区域自动调整列宽
sht2.UsedRange.Columns.AutoFit
'激活显示sht2工作表
sht2.Activate
Set sht2 = Nothing
End Sub

神奇的Excel VBA代码030:工作表数据的拆分-001

如果上面的代码,让你觉得臃肿,你可以自由使用With... End With 结构进行一定优化。 有关该结构介绍可详见《神奇的VBA》插件!

Sub 拆分工作表()
Dim sht2 As Worksheet
Set sht2 = Sheets("Sheet2")
With ActiveSheet.UsedRange
 .AutoFilter Field:=4, Criteria1:="女"
 .Copy sht2.Range("A1")
 .AutoFilter
End With
sht2.UsedRange.Columns.AutoFit
sht2.Activate
Set sht2 = Nothing
End Sub

动手试一试,屏幕前的你, 复制代码运行下吧~~!

场景2:

自动化执行时, 我们希望工作表也自动化创建。 上面的案例中,我们希望将性别男和女的数据分别放到【男职员信息表】和【女职员信息表】中。

那应该怎么操作呢? 请见下篇代码示例!

有关Excel VBA编程知识(职场牛人必备秘技),可下载安装使用一款优秀职场人必备的工具《神奇的VBA》插件,一款嵌入进Excel Ribbon界面,打开任意Excel工作簿就能随时查阅学习VBA编程的Excel 插件。

插件下载地址戳下面链接:

《神奇的VBA》-职场牛人都在使用的Excel插件

神奇的Excel VBA代码030:工作表数据的拆分-001

《神奇的VBA》选项卡样式

神奇的Excel VBA代码030:工作表数据的拆分-001

神奇的VBA使用演示图

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多