分享

《神奇的VBA》编程:强制变量声明 Option Explicit

 神奇的ExcelVBA 2022-06-27 发布于浙江

什么是Option Explicit

VBA中"Option Explicit"是一个语句,您可以在模块的开头使用它来强制自己声明所有变量。添加此语句时,VBA 会在执行代码时显示编译错误,并突出显示代码中需要声明的变量。

当您在一个VBA程序模块的开头添加"Option Explicit"强制变量声明语句时, VBA在其下方添加一个分隔线,然后您可以开始编写VBA程序过程了。 


Option Explicit




Sub DEMO()str = "神奇的VBA"MsgBox strEnd 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 stEnd Sub

在此代码中,我将变量“str”声明为字符串,然后定义了此变量的值。最后,我使用了消息框来显示该变量值,如果您仔细观察,我已将该变量错误拼成了“st”而不是“str”。

现在,当我运行此代码时,它会向我显示一个空白消息框,输出结果完全不符合预期

 哪个环节出了问题?

在没有使用“Option Explicit”语句或者没有勾选“变量声明(R)”时,当我输入错误的变量名称时,VBA将其作为单独的变量,它不会向我显示错误。这就是消息框显示空白的原因。该变量没有被赋值。现在想一想;如果您正在编写冗长的代码并且不使Option Explicit语句,那么该错误很难在运行时进行追踪。

但是使用设置了Option Explicit语句,当我运行此代码时,它显示错误。







Option Explicit--------------------------------------------------------------------Sub DEMO()Str = "神奇的VBA"MsgBox stEnd Sub

原创码字不易

欢迎"点赞","转发" 或点击""



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多