分享

一键搞定!根据总表生成多个分表,根据分表生成目录

 梦里的飞星 2020-06-03

VBA是Excel中最难的,也是最智能的功能。很多人对他又爱又恨,爱是因为一键就搞定工作,恨是因为太难了一大堆代码看了头痛。

其实,学VBA是有方法的,很多代码都不是手写的,而是通过录制宏得到。今天,卢子带你重新认识VBA。

1.生成12个工作表

普通操作的话,是直接点这个 ,就生成了一个新工作表,连续点11次。

而用VBA的话,可以先通过录制一个宏,生成一个录制的宏过程,再通过适用循环方法,生成10个新表。

Step 01 点录制宏,再新建一个工作表,停止录制宏。

Step 02 点工作表,右键查看代码,在模块中就可以看到刚刚录制的宏代码。

Sheets.Add After:=ActiveSheet

Step 03 添加一个循环语句For Next,1 to 10,就是循环10次,前面有2个工作表再加10次就是12个工作表。

Sub 宏4()
For i = 1 To 10
  Sheets.Add After:=ActiveSheet
Next
End Sub

Step 04 点绿色的运行按钮,这样瞬间就搞定了。

2.删除工作表,只保留1个

Step 01 同样道理,录制一个删除工作表的宏。

Step 02 点工作表,右键查看代码,在模块中就可以看到刚刚录制的宏代码。

Step 03 现在还需要删除2到11的工作表,也需要添加循环语句,那些无关的代码可以删除,并不影响效果。

Sub 宏5()
For i = 2 To 11
  ActiveWindow.SelectedSheets.Delete
Next
End Sub

这样本来就可以,不过还有一个问题,就是在删除工作表的时候会弹出一个警告对话框。用技巧的话只能忍受,但用VBA可以忽略掉警告对话框,可以再增加一个语句。

Sub 宏5()
Application.DisplayAlerts = False '忽略运行过程中出现的警告
For i = 2 To 11
  ActiveWindow.SelectedSheets.Delete
Next
End Sub

Step 04 运行代码以后,就只剩下一个工作表。

当操作的宏比较多的时候,需要对宏进行重命名,要不然可能会忘了宏的作用。修改名字以后,这样会更加清晰。

你在网上看到的模板,都是点一下按钮就搞定,其实,我们自己也可以插入一个按钮来执行代码。

插入一个形状。

指定宏

修改形状的名称,并运行代码。

使用VBA要另存为启用宏的工作簿。

最后再总结一下,VBA的步骤都基本一样,先录制宏,然后修改宏代码,再插入一个形状来运行代码,并另存为启用宏的工作簿。

如果你对VBA有兴趣,后面还会继续深入说明。

比如根据总表的内容生成工作表或者根据工作表生成目录等等。

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多