Microsoft Lab
全部软件
Excel变量(Variables)约 4 分钟

Option Explicit 强制声明变量

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


没有 Option Explicit 会发生什么

Dim myVar As Integer
myVar = 10
Range("A1").Value = mVar

📌 注意最后一行把 myVar 打成了 mVar(少一个字母)。因为没加 Option Explicit,VBA 不会报错,而是默默创建一个全新的、内容是空的变量 mVar,导致 A1 被写入 0 而不是预期的 10——这种错误很难发现。


加上 Option Explicit 之后

在模块最上方加一行:

Option Explicit

再执行同一段代码,VBA 会直接报错「Variable not defined」,卡在 mVar 那一行,逼你发现并修正打错字的问题。

📷 画面提示

VBA 编辑器弹出的 "Variable not defined" 报错对话框,代码窗口里出错的 mVar 那一行被黄色高亮标示


设置成以后自动加

  1. 打开 VBA 编辑器(Visual Basic Editor)
  2. Tools›Options
  3. 勾选 Require Variable Declaration(要求变量声明)
📷 画面提示

VBA 编辑器 Tools → Options 窗口的 Editor 标签,Require Variable Declaration 勾选框位置

📌 这个设置只对之后新建的模块生效,已经写好的旧文件不会自动补上 Option Explicit,要自己手动加。


学完你会

常见错误

  • 以为设置了 Require Variable Declaration 后,旧文件也会自动加上 Option Explicit,其实旧文件要手动补
  • 变量名打错却没加 Option Explicit,VBA 不报错,默默用一个空变量继续跑,很难排查
  • Option Explicit 一定要放在模块最上方(所有程序代码之前),放错位置不会生效

Sources

Blog / Website:

  1. Option Explicit
只记在你的浏览器里,换设备不会同步。