什么是Option Explicit
VBA中"Option Explicit"是一个语句,您可以在模块的开头使用它来强制自己声明所有变量。添加此语句时,VBA 会在执行代码时显示编译错误,并突出显示代码中需要声明的变量。
当您在一个VBA程序模块的开头添加"Option Explicit"强制变量声明语句时, VBA在其下方添加一个分隔线,然后您可以开始编写VBA程序过程了。
Option Explicit
Sub DEMO()
str = "神奇的VBA"
MsgBox str
End Sub
当您设置了强制变量声明后,VBA程序运行时,会自动检查是否存在未声明的变量,如有,会弹窗显示一条错误消息。以上是未声明变量时收到的消息。
激活VBA中的Option Explicit 声明
要激活强制变量声明检查,请使用以下步骤。
1.首先,打开 Visual Basic 编辑器,然后在工具菜单中单击选项。
2.之后,在选项中,转到编辑器选项卡并勾选标记“要求变量声明(R)”。
3.最后,单击“确定”。
执行此操作后,VBA 将在添加新模块时显式添加“Option Explicit”语句。
但它不会将此语句添加到现有模块中,因此您需要将它们逐个手动添加到每个现有模块中。
如何手动添加?
Option Explicit 语句必须位于模块中的第一个过程(Sub 或Function)之前。因此,您需要在第一个过程上方(通用声明区域)添加此语句,并仅添加一次。
如果您将Option Explicit 语句置于一个过程中或两个过程之间,那么当您尝试执行模块中的任何代码时,VBA 将弹窗显示错误。
为什么使用“Option Explicit”语句是一个好习惯?
《神奇的VBA》向您展示一个示例,以帮助您理解为什么强烈建议使用“Option Explicit”语句是一个好习惯。请看下面的代码。
Sub DEMO()
str = "神奇的VBA"
MsgBox st
End Sub
在此代码中,我将变量“str”声明为字符串,然后定义了此变量的值。最后,我使用了消息框来显示该变量值,如果您仔细观察,我已将该变量错误拼成了“st”而不是“str”。
现在,当我运行此代码时,它会向我显示一个空白消息框,输出结果完全不符合预期。
哪个环节出了问题?
在没有使用“Option Explicit”语句或者没有勾选“要求变量声明(R)”时,当我输入错误的变量名称时,VBA将其作为单独的变量,它不会向我显示错误。这就是消息框显示空白的原因。该变量没有被赋值。现在想一想;如果您正在编写冗长的代码并且不使用“Option Explicit”语句,那么该错误很难在运行时进行追踪。
但是使用设置了“Option Explicit”语句,当我运行此代码时,它显示错误。
Option Explicit
--------------------------------------------------------------------
Sub DEMO()
Str = "神奇的VBA"
MsgBox st
End Sub
更多职场Excel VBA数据编程知识(职场牛人必备秘技),可下载安装使用职场高效达人必备的参考和学习工具《神奇的VBA》,一款嵌入进Excel Ribbon界面,打开任意Ms Excel工作簿就能随时参阅和学习Excel VBA编程知识的赋能工具。
留言与评论(共有 0 条评论) “” |