一段简单的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 如果上面的代码,让你觉得臃肿,你可以自由使用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》选项卡样式 神奇的VBA使用演示图 |
|
来自: 神奇的ExcelVBA > 《神奇的VBA-系列文章》