繁体   English   中英

检查是否存在隐藏的工作表

[英]check if a hidden worksheet exists

我阅读了很多有关如何查找现有工作表的主题,因为我需要它作为工作簿。

在执行所有搜索后,我实现了以下代码:

'check if woksheet "tool" exists
On Error Resume Next
If Not Len(Worksheets("tool").Name) Then
    ThisWorkbook.Worksheets.Add(after:=Worksheets("Data"))
    ActiveSheet.Name = "tool"
Else
    Worksheets("tool").Activate
End If
On Error GoTo 0

只要“工具”工作表是可见的,代码就可以很好地运行,而隐藏时则不再可用,因为我需要它。

到目前为止,我还没有找到满意的答案

类似于以下内容,使用@Rory的技术来测试表是否存在:

Option Explicit
Public Sub test()
    If Not Evaluate("ISREF('" & "tool" & "'!A1)") Then
        ThisWorkbook.Worksheets.Add after:=Worksheets("Data")
        ActiveSheet.Name = "tool"
    Else
        'Worksheets("tool").Visible = True '<== Also make visible? Optional
        Worksheets("tool").Activate
    End If
End Sub
'To check if a worksheet exists
Public Function worksheetExists(ByVal wb As Workbook, ByVal sheetNameStr As String) As Boolean

On Error Resume Next
worksheetExists = (wb.Worksheets(sheetNameStr).Name <> "")
Err.Clear: On Error GoTo 0

End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM