在Excel VBA 2013中的选择语句中使用通配符

时间:2015-05-03 20:55:45

标签: excel-vba vba excel

作为初学者,我在VBA中遇到语法问题。如下所示的Select语句不会按我认为的那样执行。它与使用通配符有关。如果我默认为特定情况(SAY“FA00001”),它会正确流动。当我使用外卡时,每个部件号都属于最后一种情况。

使用外卡我做错了什么?

Select Case True
   Case PartNumber Like "FA*", "CH*"
   Case PartNumber Like "FB*"
   Case PartNumber <> "FA*", "FB*", "CH*"
End Select

2 个答案:

答案 0 :(得分:2)

问题不在于Like语句 - 它与您的案例语法有关。当您有多个案例时,您需要在每个逗号后面加上完整案例。案例Case PartNumber Like "FA*", "CH*"将匹配PartNumber Like "FA*" = True(有意义)或"CH*" = True,但不会。

试试这个:

Select Case True
   Case PartNumber Like "FA*", PartNumber Like "CH*"
   Case PartNumber Like "FB*"
   Case PartNumber <> "FA*", PartNumber <> "FB*", PartNumber <> "CH*"
End Select

答案 1 :(得分:0)

试试这个。只是一个小小的变化:

  Select Case True
            Case PartNumber Like "FA*"
   JumpFa:
             'your code here
            Case PartNumber Like "CH*"
               GoTo JumpFA
            Case PartNumber Like "FB*"
               'code here
            Case Else
               'code here
        End Select