如果语句条件错误-对所有条件都返回true

时间:2019-02-20 21:47:46

标签: excel vba

DocNum设置为Double,我有一些数字,当它们落入这些存储桶时,应触发使用不同的代码。我无法确定为什么只使用if stmt而不使用elseif。 stmt每次都会返回true ...

示例:1003xxxxx应该返回true并使用if stmt代码,1900xxxxxx应该返回false并使用elseif代码。但是1900xxxxxx正在使用if stmt代码...

最有可能是通配符,但是我的假设是,在假设其余数字之前,它需要满足先前的数字。

If DocNum = "1003*" Or "1004*" Or "1005*" Then
'Some Code
ElseIf DocNum = "19*" Or "17*" Or "22*" Or "20*" Then
'Some Code

1 个答案:

答案 0 :(得分:-2)

已尝试解决:

If DocNum = "1003*" Or _
   DocNum = "1004*" Or _
   DocNum = "1005*" Then
 'Some Code
ElseIf
   DocNum = "19*" Or _
   DocNum = "17*" Or _
   DocNum = "22*" Or _
   DocNum = "20*" Then
 'Some Code

Select Case DocNum
   Case "1003*","1004*","1005*"
   'Some Code
   Case "19*","17*","22*","20*"
   'Some Code
   Case Else
   'Some Code Case None
End Select