Excel VBA案例不起作用

时间:2014-10-27 16:49:16

标签: excel vba case

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时,一切正常。

3 个答案:

答案 0 :(得分:1)

您使用的案例不正确,您不应该说y=0只是说case 0case "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),您的代码将只执行后者。