![自动更新 Excel 过滤器](https://linux22.com/image/1343803/%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0%20Excel%20%E8%BF%87%E6%BB%A4%E5%99%A8.png)
我正在使用 Excel 2010。
我查看了其他“自动更新”,从我看到的内容来看,他们希望您输入一些信息以使其“刷新”自动更新。
我有两个独立的电子表格,一个表格包含已筛选的标题,另一个表格包含原始数据。表格中有三列,但我实际上并未在其中输入任何数据。当另一个电子表格更新时,引用会自动将值放入我的表格中。
例如,过滤器设置为“英国”,但我们仍然需要在那里保留所有值,以备参考,因为出于保密原因,使用此电子表格的人员不得查看工作电子表格。
这会让我的生活变得更轻松一点,而不是取消过滤并重新过滤。
答案1
Filter
->命令没有达到您想要的效果吗Reapply
?您可以编写一个小型 VBA 例程,在基础数据更新时运行此命令。
答案2
每 10 分钟重复一次操作:
首次打开工作簿时,执行以下代码:
alertTime = Now + TimeValue("00:10:00")
Application.OnTime alertTime, "MyMacro"
然后只需在工作簿中创建一个名为“MyMacro”的宏即可重复该操作。
Public Sub EventMacro()
ActiveSheet.AutoFilter.ApplyFilter ' adjust to point to your filter
alertTime = Now + TimeValue("00:10:00")
Application.OnTime alertTime, "EventMacro"
End Sub
答案3
将以下代码粘贴到包含数据的工作表中,并使用自动过滤器将“Sheet1”更新为工作表名称。
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Sheet1").AutoFilter.ApplyFilter 'update "Sheet1" to the name of your sheet with auto-filter
End Sub