不存在变量的默认值

起毛机

我正在基于VBA基于excel的项目中工作,并在调用变量时输入错误。尝试调试该功能一段时间后,我意识到我正在引用一个不存在的变量(由于输入错误),但是调试器并未指出问题所在。

我试图获取变量的值,结果为空。我试图与该变量进行比较,并且每次都返回false。

我想知道它是否与Boolean默认值有关False(如Microsoft在此处对VB语言所说的那样)?如果是这种情况,为什么打印没有价值?

另外,调试器为什么没有显示问题?

Sub MySub()
    'Print absolutely nothing
    Debug.Print myVariable

    If (myVariable) Then
        Debug.Print "Condition is true"
    Else
        'The condition always comes in that
        Debug.Print "Condition is false"
    End If
End Sub
斯科特·克莱纳(Scott Craner)

如果未声明该变量,则假定它是变量,并且变量的自然状态为空。

实际上,由于第一行是空的,因此第一行在“立即”窗口中打印空白行。

当您第一次使用它时,VBA假定您想将其用作布尔值,因此将其更改为布尔值,并且布尔值的基值或空值为False。

Sub MySub()

    Debug.Print myVariable 'Prints and empty line As the variable is Empty Variant

    If (myVariable) Then 'Treated as a Boolean with value False empty = false
        Debug.Print "Condition is true"
    Else
        'This fires as base boolean value is False
        Debug.Print "Condition is false"
    End If
End Sub

在此处输入图片说明

如果您想弹出错误Option Explicit,请在模块顶部使用或在设置中将其设置为默认值。

要将其设置为默认值,请转到Tools==>Options并单击Require Variable Declaration

在此处输入图片说明

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用环境变量或默认值(如果不存在)设置 PowerShell 变量

Python 函数 - 如果输入变量不存在,则使用默认值

气流:当变量无例外地不存在时,在代码中设置默认值

如果不存在参数,则提供默认值

如果键不存在,则字典返回默认值

对象属性中的默认值(如果不存在)

如果条目不存在,则mysql设置默认值

关系不存在时的默认值

MySql使用默认值(如果搜索不存在)

如何在R中创建不存在的变量并将其初始化为默认值?

如果字段不存在,则获取字段值;如果不存在,则获取默认值,DRF

如果不存在,如何使Javascript参数默认为默认值?

C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

如果键不存在,则使用默认值进行插值

在不存在特定值的情况下,通过选择在分组中添加默认值

如果不存在值,如何在枚举中获取默认值

Python字典会自动检查值是否不存在并返回默认值

属性不存在或等于0时默认值的SpEL(Spring)语法

当本地化密钥不存在时返回静态默认值

当GET参数不存在时,默认值的不同(或首选)方式

表上不存在如何为数据设置默认值

如果XDocument对象中不存在属性的默认值,如何设置

不存在键时从pandas数据框中获取默认值

如果pandas dataframe.loc位置不存在,则返回默认值

当属性不存在时,Spring @Value注释不使用默认值

后备背景图片(如果不存在默认值)

如果密钥不存在,则在会话中设置默认值

如果密钥不存在,则Azure Cosmos UDF将返回默认值

如果Lodash模板中不存在给定属性,如何添加默认值