为什么这行不会引发错误:str strVariable =“text”

Str strTopLeftCellIdentifier = "Account No" 

我只是跟踪我的代码触发error handling程序的原因。 这是没有更新strtopleftcellidentifier的价值。 显然,第一个Str不是在那里。

然而,它将运行这一线。

我知道Str()是一个VBA函数,但即使如此,我也不明白它是如何以任何可理解的方式来解释这条线的。

macros认为它在做什么和/或为什么它不会导致错误?

因为Str()是VBA中的有效函数名称。 所以你的声明实际上是比较strTopLeftCellIdentifier "Account No" ,并将布尔结果传递给Str() 。 这相当于:

 Str False 

而且由于你没有捕获到Str()的返回值,所以在进行调用时不需要括号。