Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 选择案例<&燃气轮机;多标准_Excel_Case_Vba - Fatal编程技术网

Excel 选择案例<&燃气轮机;多标准

Excel 选择案例<&燃气轮机;多标准,excel,case,vba,Excel,Case,Vba,我有下面的case语句代码,但是它只适用于第一个参数(debug.2和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

我有下面的case语句代码,但是它只适用于第一个参数(debug.2和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
子测试()
将ws设置为工作表
对于ActiveWorkbook.Worksheets中的每个ws
选择Case ws.CodeName
案例为“第1张”、“第2张”
Debug.Print ws.CodeName
结束选择
下一个ws
端接头

我无法解释为什么这不起作用,但这里有一个解决办法。你可以把它当作一个空案例来做,然后在其他案例中做你的动作

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进行测试

If ws.CodeName <> "Sheet1" AND ws.CodeName <> "Sheet2" then
    Debug.Print ws.CodeName
End if
如果ws.CodeName“Sheet1”和ws.CodeName“Sheet2”,则
Debug.Print ws.CodeName
如果结束
这将起作用:

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
子测试()
将ws设置为工作表
对于ActiveWorkbook.Worksheets中的每个ws
选择Case ws.CodeName
案例为“Sheet1”,案例为“Sheet2”
Debug.Print ws.CodeName
结束选择
下一个ws
端接头

这是一个好问题。我已经验证了OP所说的不起作用。Case可以使用逗号分隔的表达式列表,其中任何一个都可以触发Case。我怀疑您的代码被解释为
Case(是“Sheet1”),“Sheet2”
。因此,除Sheet1之外的任何内容都将位于机箱内,而Sheet2将位于机箱内。