如何触发取消隐藏的行或列

How to fire on unhiding rows or columns

一些用户隐藏 columns/rows 并且忘记在保存工作簿之前取消隐藏它们。我想在

的保存事件中取消隐藏所有 columns/rows 来捕捉它
Sub ReInvisible()
    ThisWorkbook.Worksheets(1).UsedRange.EntireRow.Hidden = False
    ThisWorkbook.Worksheets(1).UsedRange.EntireColumn.Hidden = False
End Sub

这很好用,但我想通知用户所有隐藏的 columns/rows 现在都可见。现在我正在寻找一种方法来触发取消隐藏 column/row 所以只要至少有一列或一行可见我想触发一个消息框。

VB.NET 中,我会尝试编写自己的 event,但在 VBA 中,我不知道如何解决。有人有想法吗?

应该这样做:

Sub ReInvisible()
    Dim lVisColCount          As Long
    Dim lVisRowCount          As Long
    With ThisWorkbook.Worksheets(1).UsedRange
        lVisColCount = .Rows(1).SpecialCells(xlCellTypeVisible).Count
        lVisRowCount = .Columns(1).SpecialCells(xlCellTypeVisible).Count
        .EntireRow.Hidden = False
        .EntireColumn.Hidden = False
        If .Rows(1).SpecialCells(xlCellTypeVisible).Count <> lVisColCount Then MsgBox "Columns unhidden"
        If .Columns(1).SpecialCells(xlCellTypeVisible).Count <> lVisRowCount Then MsgBox "Rows unhidden"
    End With
End Sub