ArrayKit ›Excel 与电子表格 ›VBA 宏生成器 Excel VBA 宏生成器 从 50 多个宏中选一个任务,设置你的工作表名、列和区域,就能复制带变量声明和错误处理的整洁 VBA——在你的浏览器中生成。
宏完全在你的浏览器中生成。你输入的工作表名、区域、路径和文本都留在你的设备上,绝不会发送给 ArrayKit。
由 Udit Agarwal 开发和维护
打开 Excel 公式生成器
关于 VBA 宏生成器 大多数 Excel 宏都是少数几种模式的变体:找到最后一行、不漏行地循环、把匹配项复制到别处、保存文件。Excel VBA 宏生成器把这些模式变成了表单。从可搜索的库里选一个宏,填入工作表名、列字母、区域或文件夹,代码会随你输入而更新。每个宏都以 Option Explicit 开头,声明自己的变量,用 Long 类型统计行数,用 End(xlUp) 找到最后一行,避免使用 Select 和 Activate,并以错误处理结尾,确保屏幕刷新、事件和自动计算总会被重新打开。会删除、覆盖、写入文件或创建邮件的宏带有风险标签,并提醒你先在副本上测试。你可以复制代码或下载 .bas 文件;你输入的任何内容都不会被上传。
功能特性 七大类共 50 多个宏:循环、清理、拆分与合并、文件与邮件、工作表与版式、事件、对话框 设置会被校验:在代码出现之前,工作表名、列字母、区域、名称和数字都会被检查 你文本中的引号和换行符会被转义,因此任何值都不会破坏生成的 VBA 每个宏都带有 Option Explicit、已声明的变量、Long 行计数器和 End(xlUp) 末行检测 错误处理即使在出错时也会恢复屏幕刷新、事件和自动计算 对会删除数据、写入文件或创建邮件的宏给出风险标签和提醒 可选择过程名称、开关注释,并可对本工作簿或活动工作簿进行操作 可复制代码或下载 .bas 文件,并附有粘贴和另存为 .xlsm 的分步说明 如何使用 VBA 宏生成器 搜索或浏览库,选出与你的任务相符的宏 填写设置——工作表名、列字母、区域、文件夹或文本——并修正被标出的问题 复制代码或下载 .bas 文件 在 Excel 中按 Alt+F11,选择「插入」>「模块」,粘贴后按 F5,再把文件另存为 .xlsm 示例 输入
Macro: Delete blank rows
Sheet: Orders
Blank means: every cell in the row is empty
First row to check: 2输出
Public Sub DeleteBlankRows()
...
Set ws = ThisWorkbook.Worksheets("Orders")
lastRow = ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1
For r = lastRow To 2 Step -1
If Application.WorksheetFunction.CountA(ws.Rows(r)) = 0 Then
ws.Rows(r).Delete
removed = removed + 1
End If
Next r循环自下而上运行,因此删除一行不会让下一行被跳过。
常见错误与故障排除 粘贴代码后出现「编译错误:变量未定义」或「检测到不明确的名称」。 — 请把整个生成的代码块粘贴到一个空模块中。如果把多个宏合并到同一个模块,里面的小型辅助函数会重复——每个只保留一份。宏什么也没做,或 Excel 提示宏已被禁用。 — 把文件另存为「Excel 启用宏的工作簿」(.xlsm),然后通过「文件」>「选项」>「信任中心」启用宏。只对你信任的文件启用宏。运行时错误 9:下标越界。 — 设置中的工作表名在宏所操作的工作簿里并不存在。请检查拼写,以及应对本工作簿还是活动工作簿进行操作。删除或覆盖了数据的宏无法撤销。 — VBA 所做的更改不能用 Ctrl+Z 撤销。运行会删除、覆盖或写入文件的宏之前,请务必先在工作簿的副本上运行。常见问题 Excel VBA 宏生成器如何决定生成什么代码? 库中的每个宏都是带类型化设置、经过测试的模式。你的值经过校验后,会被放进代码的恰当位置,需要时加上引号,因此输出是你可以阅读、编辑和复用的普通 VBA——没有任何猜测的成分。 为什么每个生成的宏都包含错误处理? 关闭了屏幕刷新或事件的宏,如果中途停止,会让 Excel 处于令人困惑的状态。无论发生什么,错误处理都会把这些设置重新打开,然后显示错误编号和描述,而不是直接崩溃。 生成的宏会使用 Select 或 Activate 吗? 不会。它们直接操作工作表和区域对象,速度更快,也不依赖当前选中的内容。冻结窗格是 Excel 唯一与窗口绑定的任务,因此该宏用 Application.Goto 滚动视图,而不是选中单元格。 这些宏能在 Mac 或网页版 Excel 中使用吗? 大多数能在 Windows 桌面版 Excel 中运行,许多也能在 Mac 上运行,但网页版 Excel 不运行 VBA。Outlook 邮件宏需要 Windows 版 Outlook,而 Mac 上的文件路径使用斜杠而不是反斜杠。 .bas 文件和直接粘贴代码有什么区别? .bas 文件是一个模块,可在 VBA 编辑器中用「文件」>「导入文件」导入;粘贴则是手动完成同样的事。如果你的文本含有重音字母或符号,粘贴更安全,因为 .bas 文件是按较旧的 ANSI 字符集读取的。 使用宏生成器时,我的工作表名和文件路径会被发送到别处吗? 不会。设置和代码都留在你的浏览器中。不会上传任何内容,生成器只产生文本,供你粘贴到 Excel 中。 相关工具 Excel 公式生成器 — 选一个任务,如条件求和、查找、日期、文本拆分或排名,得到可直接粘贴的 Excel 或 Google Sheets 公式。Excel 公式解释器 — 粘贴任意 Excel 或 Google Sheets 公式,得到每个函数和参数的通俗分步拆解。Excel 数据清洗 — 清洗杂乱的表格:去空格、统一大小写、删除空行和重复项、规范日期与数字,再导出 .xlsx 或 CSV。CSV 转 Excel — 在浏览器中把 CSV 或 TSV 转成排好版的 .xlsx:识别分隔符、设置表头样式、列类型和多工作表。Excel to CSV 转换器 — 拖入工作簿,把任意工作表导出为干净的 CSVVLOOKUP 公式生成器 — 逐步构建正确的 VLOOKUP 公式,含 IFERROR、精确或近似匹配、XLOOKUP 与 INDEX MATCH 替代写法及实时测试。INDEX MATCH 公式生成器 — 生成用于向左查找、双向查找和多条件的 INDEX MATCH 公式,附实时测试表和可直接复制的结果。更多Excel 与电子表格工具 CSV 转 Excel — 在浏览器中把 CSV 或 TSV 转成排好版的 .xlsx:识别分隔符、设置表头样式、列类型和多工作表。JSON 转 Excel — 把 JSON 数组或嵌套对象转成 Excel 工作簿:展平列、每个数组一个工作表、单元格带类型。Excel 数据清洗 — 清洗杂乱的表格:去空格、统一大小写、删除空行和重复项、规范日期与数字,再导出 .xlsx 或 CSV。VLOOKUP 公式生成器 — 逐步构建正确的 VLOOKUP 公式,含 IFERROR、精确或近似匹配、XLOOKUP 与 INDEX MATCH 替代写法及实时测试。INDEX MATCH 公式生成器 — 生成用于向左查找、双向查找和多条件的 INDEX MATCH 公式,附实时测试表和可直接复制的结果。Excel 公式解释器 — 粘贴任意 Excel 或 Google Sheets 公式,得到每个函数和参数的通俗分步拆解。Excel 公式生成器 — 选一个任务,如条件求和、查找、日期、文本拆分或排名,得到可直接粘贴的 Excel 或 Google Sheets 公式。Excel 函数翻译 — 在英语、德语、法语、西班牙语、意大利语、葡萄牙语、荷兰语、瑞典语和俄语之间翻译 Excel 公式,分隔符也正确转换。查看全部Excel 与电子表格工具 (9) · 全部工具