百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

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

bigegpt 2024-12-25 10:23 10 浏览

接昨天的自定义函数,今天就教大家几个常用的 VBA 代码!

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

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




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

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

- 1 -

认识 VBA 编辑器


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

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


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

方法一

通过选项卡打开

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


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


方法二

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

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




方法三

通过快捷键打开

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

- 2 -

如何运行 VBA 代码


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

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


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

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


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



- 3 -

常用的 VBA 代码


相信现在你已经掌握了 VBA 代码相关的基础操作,那接下来小 E 就给大家贴上几个常用的简单 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 单元格的值。


- 4 -

小心这些「坑」


? 保存时注意文件类型

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


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


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

? 打开有宏代码的工作簿

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


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


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

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

而后面小 E 也会陆续为大家带来运用 VBA 解决工作问题的文章,想看的小伙伴就在文末点个「赞」吧!

相关推荐

当Frida来“敲”门(frida是什么)

0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...

服务端性能测试实战3-性能测试脚本开发

前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...

Springboot整合Apache Ftpserver拓展功能及业务讲解(三)

今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...

Linux和Windows下:Python Crypto模块安装方式区别

一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...

Python 3 加密简介(python des加密解密)

Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...

怎样从零开始编译一个魔兽世界开源服务端Windows

第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...

附1-Conda部署安装及基本使用(conda安装教程)

Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...

如何配置全世界最小的 MySQL 服务器

配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...

如何使用Github Action来自动化编译PolarDB-PG数据库

随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...

面向NDK开发者的Android 7.0变更(ndk android.mk)

订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...

信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要

问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...

OpenSSH 安全漏洞,修补操作一手掌握

1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...

Linux:lsof命令详解(linux lsof命令详解)

介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...

幻隐说固态第一期:固态硬盘接口类别

前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...

新品轰炸 影驰SSD多款产品登Computex

分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...