几句小白都会用的VBA代码,让工作效率提升百倍!(附常用代码文件)

职场   教育培训   2024-11-01 11:32   湖北  
点击蓝字【秋叶 Excel】👆
发送【6】
免费领 1000+篇 Excel 精选教程!

本文作者:wayy
本文编辑:卫星酱


文末送 VBA 常用代码,记得看到最后哦~


相信不少小伙伴一听到 VBA,立马纷纷后退,将它视作洪水猛兽。


其实,VBA 代码并不可怕,只是因为我们接触得不多不了解,又总听到厉害的人说起它,所以才觉得它又神秘又可怕。



而今天,咱们就来揭开 VBA 代码的神秘面纱,并且介绍几个常用的简单代码,能够让大家非常方便地运用到工作中去,大大提升工作效率。


那首先就跟着我了解下相关操作的基础常识吧~

认识 VBA 编辑器



大家都知道 Excel 中数据存放在单元格里,可你们知道 VBA 代码要存放在什么地方?


答案就是 VBA 编辑器,如下图所示:



那要如何打开 VBA 编辑器呢?下面教大家三种方法。


01 通过选项卡打开


单击【开发工具】选项卡,找到【Visual Basic】命令,单击即可进入 VBA 编辑器,如下图所示:



如果菜单栏里没有【开发工具】选项卡,按照这个步骤把它调出来——点击【文件】-【选项】,然后点击【自定义功能区】,在「主选项卡」中勾选「开发工具」,点击【确定】即可。



02 通过右键工作表标签查看代码打开


右键单击任意一个工作表标签,在弹出的菜单中单击【查看代码】,即可进入 VBA 编辑器,如下图所示:



03 通过快捷键打开


在任意一个工作表中,使用快捷键【Alt+F11】,即可进入 VBA 编辑器,不过有些笔记本可能需要再同时按下【Fn键才可以。

如何运行 VBA 代码



我们大多数的 VBA 代码都是存放在 VBA 编辑器的模块中,那模块又是如何添加的呢?


在左侧的工程资源管理器中,右键单击【Thisworkbook】或者上面的任意一个工作表的标签均可弹出一个菜单,在菜单中单击【插入】,在弹出的下一级菜单中选择【模块】,单击即可插入 1 个模块,如下图所示:



我们知道存放 VBA 代码的地方了,那如何运行 VBA 代码呢?


单击【开发工具】选项卡,找到【宏】命令,单击即可,如下图所示:



在弹出的【宏】对话框中可以看到我们已经写好的 VBA 宏的名称,单击选中要执行的宏名称,单击【执行】即可执行 VBA 代码了,如下图所示:


常用的 VBA 代码



相信现在你已经掌握了 VBA 代码相关的基础操作,那接下来我就给大家贴上几个常用的简单 VBA 代码~


只有短短几行,但却能帮我们节约不少时间!


批量保护/取消保护工作表


有时候为了防止别人误操作,需要给工作表加保护密码,但是工作表数量太多,一个个地设置保护也是个体力活儿,这个时候如果用了下面的 VBA 代码就方便快捷多了!


Sub 保护工作表()
Dim i As Long
For i = 1 To Sheets.Count
 Sheets(i).Protect "123"
Next
End Sub


给大家大致解释下代码——


❶ 第一行是定义宏的名称,比如这个宏的名称叫做「保护工作表」,最后一行是结束,这两行是固定用法。


❷ 第二行 Dim 是在定义变量的类型,这里是定义变量 i 为长整数型。


❸ 第三行和第五行是 For Next 循环的用法,Sheets.Count 是指工作表的个数,For i = 1 To Sheets.Count 表示从第一个表循环到最后一个表,都执行 For 与 Next 中间的代码。


❹ 第四行是主要的功能代码,Sheets(i).Protect 通过变量 i 的变化,对逐个工作表进行保护,后面的字符串 123 是密码,密码可以根据需要自己修改。


取消保护工作表的代码又该如何写呢?


其实,宏名称改一下,再修改第四行的代码就可以了!修改后的代码如下:


Sub 取消保护工作表()
Dim i As Long
For i = 1 To Sheets.Count
 Sheets(i).Unprotect "123"
Next
End Sub


批量重命名工作表


有时我们建立了很多工作表,工作表名称是 Sheet1、Sheet2 这种,这让我们查看数据时很难分清,需要重新命名工作表。一个一个工作表来,估计又要忙活一会儿了!


比如我们要把 Sheet2 工作表及后面所有的工作表名称都修改为每个工作表中 C2 单元格的值,也就是将工作表名称修改为部门名称,方便查看每个部门的情况。



我们的 VBA 代码又派上用场了:


Sub 修改工作表名称()
Dim i As Long
For i = 2 To Sheets.Count
 Sheets(i).Name = Sheets(i).Range("C2")
Next
End Sub


给大家大致解释下代码——


❶ 第一行、第二行、第五行及第六行,与前面代码功能一致,在此不再赘述。


❷ 第三行仍为循环,只是改为从第二个工作表开始循环,所以使用了 For i = 2 开始,直到最后一个工作表。


❸ 第四行是关键的修改工作表名称的代码,Sheets(i).Name 代表这个工作表的名称,等于这个工作表中 C2 单元格的值。

小心这些「坑」



保存时注意文件类型


如果你的文件扩展名为「.xlsx」,添加代码后,文件在保存时会有下图所示的提示:



此时要点击【否】,保存文件格式的时候选择「Excel 启用宏的工作簿(*.xlsm)」,然后单击【保存】即可。



如果选择了【是】,文件关闭后再打开时将丢失 VBA 代码。


打开有宏代码的工作簿


如下图所示,当打开带有宏代码的工作簿时,会有安全警告(宏已被禁用),这时需要单击【启用内容】来启用宏,才可以运行相关的宏代码。



如果不启用宏,代码将不能运行,点击运行相关代码时会有如下图所示的提示:


写在最后


好了,VBA 从入门到几个常用的简单代码都教给你了,你都学会了吗?


当然,这些只是九牛一毛,但如果你有兴趣的话,可以在掌握基础之后进行探索,或许会发现一座不一样的新世界!


掌握一点 VBA,工作效率又能提升一个台阶~


如果你想学习更多 Excel 高效办公技巧,推荐你参加秋叶《3 天 Excel 集训营》,为工作提效打好基础!

3 天 Excel 集训营
多种技巧助你摆脱无效加班
名师教学帮你开拓思路

秋叶 Excel 读者专享
官网价 99 元
现在免费报名
长按下方图片扫码加入
👇👇👇
↑↑↑
现在加入,随课赠送丰厚资料!



💬

点击下方公众号卡片
发送【VBA】
免费获取常用 VBA 代码!
👇👇👇

秋叶Excel
和秋叶一起学Excel,免费获取Excel模板、插件!还有Excel真人视频、图文教程,助你轻松掌握Excel函数、图表、透视表……一起成为办公效率达人!
 最新文章