VBA Option Explicit2025年3月17日 | 阅读 7 分钟 "VBA Option Explicit 语句用于在编写代码时强制声明变量。这是一个安全且易于管理变量的选项。" 在编写代码时,VBA 开发人员可能会忘记定义变量,或者错误地重复使用同一个变量,或者拼错变量名。 代码不会报错,但也不会得到预期的输出。以一家跨国公司为例,开发人员有大量的代码行。如果任何变量被错误地遗漏或拼写错误,要反复检查和纠正成千上万行代码将是一项难以完成的任务。 为了避免上述问题,**Option Explicit 语句**是一个很好的解决方案。Option Explicit 强制要求在程序顶部声明所有变量,并且还能高亮显示代码中未定义的变量。 VBA Option Explicit 语句使用户能够在一个地方定义所有变量,这样将来如果宏出现错误,您可以直接在模块的开头进行检查。借助 Option Explicit,您还可以声明全局变量。 Option Explicit 的优点
实现 Option Explicit 的方法在 VBA 编程中,有两种使用 Option Explicit 语句的方法。 方法 1 第一种方法简单易用。要使用它,请在我们 VBA 子过程中写上 option explicit 语句,然后继续编写其余代码,如下所示。 ![]() 正如您在上面的图片中看到的,Option Explicit 语句以蓝色字体突出显示。在上面的代码中,我们声明了一个变量,如果我们运行代码,由于变量未声明,我们会收到一个编译错误作为输出。 ![]() 方法 2 许多用户可能会忘记每次编写 VBA 代码时都提及 option Explicit。VBA 提供了一个额外的选项,您可以使用它将 Option Explicit 设置为代码中每个页面的默认语句。您只需要按照一系列说明操作,VBA 就会自动将此语句插入到您的所有模块中。 步骤 1: 打开 VBA 开发工具选项卡。从 VB 编辑器的菜单中,单击“工具”选项卡。将弹出一个窗口(如下图所示),单击“选项”。 ![]() 步骤 2: 接下来,将打开“选项”向导窗口。您会注意到顶部有五个不同的选项卡。 ![]() 步骤 3: 在“编辑器”选项卡中,您会注意到“要求变量声明”选项,勾选复选框,然后单击“确定”。 ![]() 完成上述步骤后,重新启动您的 VBA 模块以在 Visual Basic 编辑器窗口中实现更改。之后,您会注意到对于每个 VBA 模块,Option Explicit 语句将自动出现在 VB 编辑器的顶部。 Excel VBA Option Explicit - 示例 1编写一段 VBA 代码,并以命令按钮的形式演示实现 Option Explicit 的步骤。 VBA 是一门简单的语言,您甚至可以通过在代码行之前编写语句来使其更简单。它允许我们指示 Excel 在模块顶部定义必需的变量。 以下是实现 VBA Option Explicit 语句的代码中的步骤: 步骤 1: 打开您的 Excel 工作表,然后从 Excel 的功能区标题转到“开发工具”选项卡 ->“控件”部分 -> 单击“插入”选项。 请参考下图 ![]() 步骤 2: 将出现一个包含所有控件的窗口。从 ActiveX 控件部分选择第一个控件选项,即命令按钮。 注意:命令按钮是用于插入命令控件的事件。![]() 步骤 3: 使用鼠标光标,在 Excel 工作表的任何位置绘制命令按钮。拖动鼠标指针形成一个矩形,命令按钮将被绘制出来。 请参考下图 ![]() 步骤 4: 双击命令按钮,它将打开 VB 编辑器窗口。 步骤 5: 如上图所示,编写代码,在有人单击命令按钮时显示值为 5 的 Msgbox。 代码 步骤 6: 再次转到“开发工具”选项卡,单击“设计模式”以启用按钮的事件。 ![]() 步骤 7: 再次单击命令按钮。此时将弹出一个 MsgBox,显示值 80。 请参考下图 ![]() 步骤 8: 现在,我们将手动将 option explicit 语句写在代码的顶部。 代码 步骤 9: 再次单击命令按钮,这次,您将看到编译错误弹出,而不是 MsgBox。 ![]() 步骤 10: 由于我们没有声明变量,它显示了编译错误。它还高亮显示了未声明的变量。更正代码,在模块顶部定义变量。 代码 步骤 11: 单击命令按钮,这次,它将显示 Msgbox 并显示输出。 ![]() Excel VBA Option Explicit - 示例 2有时在 VBA 中,代码运行正常,但我们没有想要的变量。然后开发人员必须重新阅读整个代码并找到错误。这通常是由于使用了错误的未定义变量引起的。在本例中,我们将看到一个这样的情况,然后使用 Option Explicit 语句进行纠正。 以下是实现 VBA Option Explicit 语句的代码中的步骤: 步骤 1:通过单击快捷键 Alt +F11 或单击开发⼯具窗⼝ -> 视觉基本编辑器,转到 VBA 开发⼯具选项卡。 步骤 2: 将出现 VB 编辑器。下一步是创建一个模块。右键单击 VBA 项目 -> 转到“插入” -> 转到“模块”。 ![]() 步骤 2: 将插入 VBA 模块。下一步是使用 Dim 语句声明变量并将其初始化为值 10。代码如下: 代码 在上面的程序中,我们使用 Dim 语句将变量定义为 Integer 数据类型。接下来,我们在 range A1 中放置了 var 的值。所以,从技术上讲,对于工作表中的单元格 A1,我们应该有一个值 50。 步骤 3: 按 F5 键运行宏并获取输出。 ![]() 正如您在输出中看到的,单元格 A1 没有值,我们的代码也没有给出任何错误。程序是完全正确的,但仍然出现错误。如果您非常仔细地看,您会发现我们拼错了程序中的变量。这些事情很容易被忽略。 步骤 4: 我们将应用 Option Explicit,您将立即看到此语句的差异和重要性。 代码 步骤 5: 再次按 F5 键运行您的代码,这次 VBA 将抛出错误,即“Compile error: Argument not optional”(编译错误:参数不可选)。 请参考下图 步骤 6: 现在,找到变量并更正错误。 代码 ![]() 步骤 7: 通过按 F5 键运行代码,您最终将获得输出。结果,值 50 将插入到您的 Excel 工作表的 sheet1 单元格 A1 中。 请参考下图 ![]() 要记住的事情
下一主题VBA 错误处理 |
我们请求您订阅我们的新闻通讯以获取最新更新。