如何触发取消隐藏的行或列
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
一些用户隐藏 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