学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA


原创作者: 卢子 转自:Excel不加班
VBA是Excel中最难的 , 也是最智能的功能 。 很多人对他又爱又恨 , 爱是因为一键就搞定工作 , 恨是因为太难了一大堆代码看了头痛 。
其实 , 学VBA是有方法的 , 很多代码都不是手写的 , 而是通过录制宏得到 。 今天 , 卢子带你重新认识VBA 。
1.生成12个工作表
【学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA】普通操作的话 , 是直接点这个+ , 就生成了一个新工作表 , 连续点11次 。

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

而用VBA的话 , 可以先通过录制一个宏 , 生成一个录制的宏过程 , 再通过适用循环方法 , 生成10个新表 。
Step 01 点录制宏 , 再新建一个工作表 , 停止录制宏 。

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

Step 02 点工作表 , 右键查看代码 , 在模块中就可以看到刚刚录制的宏代码 。 Sheets.Add After:=ActiveSheet

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

2.删除工作表 , 只保留1个
Step 01 同样道理 , 录制一个删除工作表的宏 。

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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 运行代码以后 , 就只剩下一个工作表 。

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图

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

学点EXCEL不加班|EXCEL只需用一招,就可以学好VBA
本文插图


推荐阅读