如何排除工作表名称末尾带有“-Matrix”的工作表?

时间:2019-08-07 15:38:48

标签: excel vba

我有一个要应用于多个工作表的代码。 我想排除“数据”和所有包含“-矩阵”的工作表。 我使用*通配符选择了这些工作表,尽管它不起作用。

Sub DoForSheets()
    Dim xwks As Worksheet
    Application.ScreenUpdating = False
    For Each xwks In Worksheets
        If xwks.Name <> "Data" And xwks.Name <> "* - Matrix" Then
           Debug.Print xwks.Name
        End If
    Next
    Application.ScreenUpdating = True
End Sub

2 个答案:

答案 0 :(得分:3)

Instr将为您完成工作。

尝试:

Sub DoForSheets()

    Dim xwks As Worksheet
    Application.ScreenUpdating = False
    For Each xwks In Worksheets
        If xwks.Name <> "Data" And Not InStr(1, xwks.Name, "- Matrix") > 0 Then
           Debug.Print xwks.Name
        End If
    Next
    Application.ScreenUpdating = True

End Sub

- Matrix在名称中的位置无关紧要。这不会失败

答案 1 :(得分:2)

使用Right函数:

 Right(xwks.Name, 6) = "Matrix" 'returns True if right hand side of the string is "Matrix"

还有LeftMid