gpt4 book ai didi

VBA 如果条件为真,但实际上为假,它有什么问题?

转载 作者:行者123 更新时间:2023-12-04 20:29:03 25 4
gpt4 key购买 nike

我在 VBA 中编写代码,根据一些输入参数将数据从 Access 数据库提取到 Excel。当谈到 If 语句时,检查“速度”变量范围的标准之一是正确的,但是,我检查了这个标准应该是错误的。比如speed=49,VSP=1.5,1st if condition 1<=Speed<25 表示true 可笑,VSP<0表示false,所以转到第1 elseif condition,1<=Speed<25 仍然表示true 且 0<= VSP<3 也为真,则函数返回 Access 数据库中的值。否则,如果 speed=49,VSP=6.5,函数仍然执行“ElseIf (1 <= Speed < 25) And (0 <= VSP < 3) Then, statement 2”部分。它似乎总是将第一个 elseif 条件视为真。

我的 if 语句有什么问题?有什么建议吗?

代码:

Function F (ByVal Speed, VSP as single)

.............

If (1 <= Speed < 25) And (VSP < 0) Then

statement 1

ElseIf (1 <= Speed < 25) And (0 <= VSP < 3) Then

statement 2

ElseIf (25<= Speed < 50)) And (0<= VSP <3) Then

statement 3

End if

End function

最佳答案

还没有人指出如何1 <= Speed < 25被评估。一、1 <= Speed被评估为 TrueFalse , 然后将该值与 25 进行比较.这需要解释 TrueFalse作为一个整数。 True被解释为 -1 ; False被解释为 0 .这两个都小于25 , 所以表达式的计算结果总是 True .

关于VBA 如果条件为真,但实际上为假,它有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7730481/

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