Public Function Test(y As Double)
Select Case y
Case y = 0 //problem starts here
Test= "No value" // problem ends here
Case Else
s = 0
For i = 1 To 3
s = s + 20 / y
Next
Test= s
End Select
End Function
当y = 0时,我得到的结果是“#Value!”这里有什么问题。当y不为0时,一切正常。
答案 0 :(得分:1)
您使用的案例不正确,您不应该说y=0
只是说case 0
或case "0"
其他部分有效,因为包含0的每个值都属于相同的情况。
Public Function Test(y As Double)
Select Case y
Case "0" // This is the correct way to use it
Test= "No value"
Case Else
s = 0
For i = 1 To 3
s = s + 20 / y
Next
Test= s
End Select
End Function
答案 1 :(得分:0)
Public Function test(y As Double)
Select Case y
Case 0
test = "doesnt exist"
Case Else
s=0
For i = 1 To 10
s=y/(i^1)
Next
test = s
End Select
End Function
您正在使用=在您的情况下检查哪个是错误的。您应该将其用作
Case testValue
Do something here
如果是字符串,则将其放在引号
中Case "Hello World"
do something here
答案 2 :(得分:0)
你想要
Case 0
而不是
Case y = 0
如果y的值为(True / False),您的代码将只执行后者。