我知道这完全是一个菜鸟问题,但谁能告诉我为什么这个函数总是返回 0:
Function Cd(Re As Double)
Select Case Re
Case Re < 1
Cd = 24 / Re
Case 1 < Re < 1000
Cd = 18 * Re ^ (-0.6)
Case 1000 < Re
Cd = 0.44
End Select
End Function
每当我在电子表格中调用它时,它总是返回 0。例如 Cd(5000) = 0,它应该是 0.44。在此先感谢您的帮助。
最佳答案
Case Re < 1
这是不好的。您评价
Re
在您的 Select Case
首先,现在您正在比较 Re
至Re < 1
.显然,你想要Case Is < 1
Case 1 < Re < 1000
那也不好。没有
< X <
VB中的运算符。此表达式的计算结果为 (1 < (Re < 1000))
, 这基本上变成了 1 < False
或 1 < True
,始终为 False
.你想在这里写的是:Case 1 to 1000
Case 1000 < Re
又是同样的问题。你显然的意思是:
Case Is > 1000
关于Excel/VBA 基本函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992045/