某些用户隐藏列/行,在保存工作簿之前忘记取消隐藏它们。我希望通过
取消隐藏保存事件中的所有列/行来捕获它Sub ReInvisible()
ThisWorkbook.Worksheets(1).UsedRange.EntireRow.Hidden = False
ThisWorkbook.Worksheets(1).UsedRange.EntireColumn.Hidden = False
End Sub
这工作正常,但我想通知用户现在所有隐藏的列/行都可见。现在我正在寻找一种触发取消隐藏列/行的方法,以便在至少一个列或行可见时我想要触发一个消息框。
在VB.NET
我会尝试编写自己的event
,但在VBA
我不知道如何解决方法。有没有人有想法?
答案 0 :(得分:2)
这样的事情应该这样做:
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