select具有多个条件的案例<>

我有一个case语句的代码如下,但它只适用于第一个参数(debug.prints sheet2和3,请有人协助

Sub test() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Select Case ws.CodeName Case Is <> "Sheet1", "Sheet2" Debug.Print ws.CodeName End Select Next ws End Sub 

我无法解释为什么这是行不通的,但这是一个解决办法。 你可以做一个空案,然后在其他情况下做你的行为。

 Sub test() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Select Case ws.CodeName Case "Sheet1" To "Sheet2" Case Else Debug.Print ws.CodeName End Select Next ws End Sub 

或者你可以用if语句而不是case来testing。

 If ws.CodeName <> "Sheet1" AND ws.CodeName <> "Sheet2" then Debug.Print ws.CodeName End if 

这将工作:

 Sub test() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Select Case ws.CodeName Case Is <> "Sheet1", Is <> "Sheet2" Debug.Print ws.CodeName End Select Next ws End Sub