有没有办法可以在excel中的列过滤器上触发宏函数?
请帮忙
谢谢。
我只是在想我是否可以发布这个答案。我想你们中的一些人不会喜欢它,因为它不是通过绕过解决方案的直接回答。但是我认为我可以展示这个想法,因为我们在问题中没有所有项目假设。
让我们同意 - 我们都知道在我们更改过滤后不会触发任何事件。但是,我看到了一种选择。
更改过滤器可能会触发Worksheet_Calculate
事件(不是Worksheet_Change
)。如果您的工作表中有任何单个公式,那么每次使用鼠标更改过滤条件时,我们都会触发该事件。
步骤 1.将任何单个公式放入工作表中,例如在单元格 ZZ1 中,其中 =ZZ2
第 2 步。我假设我们的数据范围从 Range(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
第 4 步。使用过滤器将触发该事件并导致以下情况:
我希望有人会喜欢它并且可以使用它。即使这只是一个绕道的想法。