Excel 使用名称包含特定单词的VBA取消隐藏图纸名称

Excel 使用名称包含特定单词的VBA取消隐藏图纸名称,excel,vba,google-sheets,tabs,hidden,Excel,Vba,Google Sheets,Tabs,Hidden,使用下面的代码,我可以选择所有包含单词“ba”的工作表。但是,如果这些工作表/选项卡被隐藏,我就无法选择,我会得到一个“运行时错误'1004':”警告 有什么建议吗?我该如何使此代码与隐藏的工作表/选项卡一起工作?所以它会显示所有带有“ba”的工作表/选项卡名称,即使它隐藏显示?如果它们是隐藏的,我希望它们出现或.Visible=True Sub listray() Dim ws As Worksheet, flg As Boolean For Each ws In Sheets If LCas

使用下面的代码,我可以选择所有包含单词“ba”的工作表。但是,如果这些工作表/选项卡被隐藏,我就无法选择,我会得到一个“运行时错误'1004':”警告

有什么建议吗?我该如何使此代码与隐藏的工作表/选项卡一起工作?所以它会显示所有带有“ba”的工作表/选项卡名称,即使它隐藏显示?如果它们是隐藏的,我希望它们出现或.Visible=True

Sub listray()
Dim ws As Worksheet, flg As Boolean
For Each ws In Sheets
If LCase(ws.Name) Like "*ba*" Then
    ws.Select Not flg
    flg = True
End If
Next
End Sub
End Sub

图纸必须可见才能被选择

If LCase(ws.Name) Like "*ba*" Then
    ws.Visible = xlSheetVisible
    ws.Select Not flg
    flg = True
End If

图纸必须可见才能被选择

If LCase(ws.Name) Like "*ba*" Then
    ws.Visible = xlSheetVisible
    ws.Select Not flg
    flg = True
End If

您无需选择工作表来隐藏/取消隐藏它。这将在工作表中循环,只留下名称为“*ba*”


您无需选择工作表来隐藏/取消隐藏它。这将在工作表中循环,只留下名称为“*ba*”


为什么需要
选择
工作表?通过选择,我已取消隐藏名称中包含特定文本的工作表。您不需要
选择
工作表来隐藏/取消隐藏它。为什么需要
选择
工作表?通过选择,我已取消隐藏名称中包含特定文本的工作表。您无需选择工作表来隐藏/取消隐藏它。如果只需取消隐藏,则此操作也有效。不过,目前还不清楚在选择表格后是否有后续行动,而且OP对你问题的回答并没有真正使其成为一个未知的问题。我给这个答案的基础上,评论答复说,选择只是为了执行取消隐藏。是的,这就是我的答案的基础。如果它不符合OPs的需要,并且布尔标志用于其他事情,那么这可能会对未来的读者产生影响:p如果只需要取消隐藏,这也是有效的。不过,目前还不清楚在选择表格后是否有后续行动,而且OP对你问题的回答并没有真正使其成为一个未知的问题。我给这个答案的基础上,评论答复说,选择只是为了执行取消隐藏。是的,这就是我的答案的基础。如果它不符合OPs的需要,并且布尔标志被用于其他事情,那么对于未来的读者来说,这可能会有用:p