替代Worksheet_Activate
我有一个数据链接到另一个选项卡上的数据透视表的工作表。 数据更新与工作表上的切片器。 我也有代码隐藏/取消隐藏空白行在我的数据时激活工作表。 但是,我希望代码在用户更改切片器select时工作 – 我不希望他们必须离开工作表,然后再回来隐藏行。 有什么build议么?
Option Explicit Private Sub Worksheet_Activate() Dim r As Range, c As Range Set r = Range("a16:a65,a68:a118,a121:a171,a174:a224") Application.ScreenUpdating = False For Each c In r.Rows If Len(c.Cells(1).Text) + Len(c.Cells(2).Text) = 0 Then c.EntireRow.Hidden = True Else c.EntireRow.Hidden = False End If Next c Application.ScreenUpdating = True End Sub
如何PivotTableUpdate事件? 每次更新数据透视表时,都会运行代码,这将包括切片器更改过滤的时间。
有关此事件的更多信息,请参阅此链接 。
由于切片机导致数据更新,您可以使用Worksheet_Calculate
或Workbook_SheetCalculate
顺便说一句我会build议以下编码风格
For Each c In r c.EntireRow.Hidden = Len(c.Cells(1).Text) + Len(c.Cells(2).Text) Next c