使用VBA在Excel中查找隐藏的工作表(和隐藏的单元格)

smf*_*ote 4 excel vba

有没有办法确定Excel工作簿是否使用VBA隐藏了工作表和/或隐藏单元格?谢谢!

Ban*_*joe 8

您可以遍历工作表,列和行,检查worksheet.visible和range.hidden属性.下面是一些快速而脏的代码,它们将任何隐藏的元素输出到即时窗口.

Sub FindHidden()
    Dim wks As Worksheet
    Dim rng As Range

    For Each wks In ThisWorkbook.Worksheets
        If wks.Visible = xlSheetHidden Then
            Debug.Print "Worksheet: " & wks.Name & " is hidden."
        ElseIf wks.Visible = xlSheetVeryHidden Then
            Debug.Print "Worksheet: " & wks.Name & " is very hidden."
        End If

        For Each rng In wks.UsedRange.Rows
            If rng.Hidden = True Then
                Debug.Print "Worksheet: " & wks.Name & " Hidden Row: " & rng.Row
            End If
        Next rng

        For Each rng In wks.UsedRange.Columns
            If rng.Hidden = True Then
                Debug.Print "Worksheet: " & wks.Name & " Hidden Column: " & Left(Replace(rng.Address, "$", ""), 1)
            End If
        Next rng
    Next wks
End Sub
Run Code Online (Sandbox Code Playgroud)