Kaz*_*wor 11
我只是想我是否可以发布这个答案.我想有些人不会喜欢它,因为通过旁路解决方案的介绍不是直接回答.但是我认为我可以表明这个想法,因为我们在问题中没有所有的项目假设.
让我们同意 - 我们都知道在更改过滤后没有事件会发生.但是,我看到一个选项.
更改过滤器可能会触发Worksheet_Calculate事件(不是Worksheet_Change).如果您的工作表中有任何单个公式,那么每次我们使用鼠标更改过滤条件时,我们都会触发该事件.
步骤1.将任何单个公式放入工作表中,例如在单元格ZZ1中,其中= ZZ2
步骤2.我假设我们的数据范围从范围(A1)开始,我们在第一行中有标题(见图).我假设那个区域下面也没有任何东西.

步骤3.将以下解决方案放在Sheet1模块中.
Private Sub Worksheet_Calculate()
If ActiveSheet.Name = "Sheet1" Then
If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
MsgBox "No data available"
Else
MsgBox "There are filtering results"
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
步骤4.使用过滤器将触发该事件并导致以下情况:


我希望有人会喜欢它并且可以使用它.即使它只是一个旁路的想法.