首页 >> 日常问答 >

问excel 中的宏怎么使用 VBA 宏操作详解

2026-11-06 15:55:24

答

核心结论就是 Excel 宏本质是 VBA 自动化脚本,把重复的批量操作录制或者编写成代码,运行之后自动执行,适合批量处理数据,统一格式,自动汇总,一键报表,使用宏的文件必须保存成 xlsm 启用宏的工作簿格式,普通 xlsx 格式不支持保存宏,打开带宏文件的时候,Excel 默认会禁用宏,需要手动启用宏才能运行,宏有两种制作方式,第一种是录制宏,不需要写代码,自动记录鼠标键盘操作,第二种是手动打开 VBA 编辑器编写代码,适合复杂逻辑。之所以要用宏,是大量重复手工操作,比如批量改单元格格式,多表合并,批量删除空行,公式下拉,单纯函数没办法实现这类交互式自动化,但是宏存在安全风险,陌生来源带宏文件可能包含恶意代码,所以系统默认拦截,运行前要确认文件来源可信。

基础准备

1 调出开发工具选项卡

文件 选项 自定义功能区,勾选开发工具,确定之后顶部菜单栏就会出现开发工具标签,录制宏和 VBA 编辑器都在这里

2 文件格式要求

带宏的文件保存类型选择 Excel 启用宏的工作簿 xlsm,如果保存成 xlsx,宏代码会直接丢失

方式一 录制宏 新手首选

1 点击开发工具 录制宏

2 设置宏名称,快捷键可以自定义,比如 Ctrl+Shift+A,选择保存在当前工作簿

3 点击确定,开始录制,此时你的鼠标点击,输入,格式修改全部会被记录

4 完成全部操作之后,点击开发工具 停止录制

5 运行宏:开发工具 宏,选中这个宏,点击执行,就会重复刚才录制的整套操作

注意 录制宏是固定坐标操作,如果数据行数变化,录制的宏很容易出错,复杂逻辑不推荐只靠录制

方式二 VBA 手动编写宏

1 快捷键 Alt+F11 直接打开 VBA 编辑器

2 右键左侧工程窗口,插入 模块

3 在代码窗口输入宏代码,基础结构

Sub 宏名称 ()

这里写代码

End Sub

示例简单代码,选中 A 列填充底色

Sub 示例宏 ()

Range ("A:A").Interior.Color = RGB (255,255,0)

End Sub

4 按 F5 直接运行,或者关闭 VBA 窗口,回到 Excel,在宏窗口执行这个宏

运行与安全设置

1 打开带宏 xlsm 文件,顶部会出现安全警告,点击启用内容,宏才可以运行

2 宏安全级别:开发工具 宏安全性,可以设置级别,推荐启用所有宏只用于自己可信文件,不建议长期保持全部启用

3 给宏绑定按钮:开发工具 插入 表单控件按钮,绘制按钮之后指定宏,以后直接点按钮就运行宏,不用每次进宏窗口

深度要点和易错点

第一 xlsx 不能存宏,保存之后代码消失,很多新手踩坑,一定要保存 xlsm

第二 录制宏生成的代码冗余,会固定单元格位置,新增数据之后运行报错,最好进入 VBA 编辑器精简代码

第三 宏里面引用工作表,建议写工作表名称,不要只写 Range,切换工作表之后会引用错误

第四 运行宏之前建议备份原始文件,宏批量修改数据是不可逆操作,误操作会批量改动表格

第五 跨电脑打开宏文件,如果对方 Excel 禁用宏,宏不会自动执行,需要对方手动启用

第六 新版 Microsoft 365 部分环境,受信任中心策略管控,企业电脑可能管理员禁止宏,无法使用

第七 录制宏不能实现判断循环这类复杂逻辑,带 IF 循环的自动化,必须手动写 VBA 代码

进阶拓展

宏可以搭配窗体控件,做简易交互面板,实现选择条件之后自动处理数据,也可以调用工作表函数,在 VBA 里面使用 WorksheetFunction 调用 SUM VLOOKUP 这类函数。

【常见问题】

问题 1 excel 中的宏保存成 xlsx 之后为什么不见了

回答 1 excel 中的宏无法保存在 xlsx 格式,xlsx 不支持 VBA 代码,必须另存为 xlsm 启用宏的工作簿,否则保存的时候宏代码会被清除。

问题 2 excel 中的宏打开文件提示已经禁用宏怎么办

回答 1 excel 默认安全策略会禁用宏,在顶部安全警告栏点击启用内容,或者进入信任中心宏设置,调整宏安全级别,只对可信文件启用宏。

问题 3 excel 中的录制宏运行之后结果不对是什么原因

回答 1 excel 中的录制宏是记录固定单元格坐标操作,数据位置变化之后,录制宏仍然按照原来位置执行,就会结果错误,复杂动态数据建议手动编写 VBA 宏代码。

问题 4 excel 中的宏快捷键失效怎么处理

回答 1 excel 中的宏快捷键如果和系统或者其他软件冲突,就会失效,重新打开录制宏窗口,更换一组不冲突的快捷键,也可以改用表单按钮指定宏,不依赖快捷键。

【免责申明】

本教程基于桌面版 Excel 常规版本编写,WPS 表格也支持 VBA 宏,但是部分企业版本阉割 VBA 功能,宏代码存在安全风险,请勿运行来源不明的宏文件,本文仅作为学习参考,不承担宏误操作造成数据损坏相关责任。

 

相关阅读

最新文章