gpt4 book ai didi

excel - 当第一个参数为 false 时,VBA "And"运算符是否计算第二个参数?

转载 作者:行者123 更新时间:2023-12-01 16:25:39 24 4
gpt4 key购买 nike

Function Foo(thiscell As Range) As Boolean
Foo = thiscell.hasFormula And (InStr(1, UCase(Split(thiscell.formula, Chr(40))(0)), "bar") > 0)
End Function

此函数的存在是为了测试 (.

我遇到的问题是,当传递到函数的单元格为空时, thisCell.hasFormula 为 false,但 and 之后的语句仍在评估中。这在运行时给我一个下标超出范围的错误。

VBA 实际上是否继续计算 And 的第二个参数,即使第一个参数为 false?

最佳答案

您正在寻找的内容称为“短路评估”。

VBA 没有它。

您可以看到一种可能适合您情况的方法 here .

此处选择的方法涉及用 Select Case 替换 If。还有一个使用嵌套 Ifs 的示例。

关于excel - 当第一个参数为 false 时,VBA "And"运算符是否计算第二个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com