![Excel 2016 上重新应用筛选器的宏](https://linux22.com/image/1474446/Excel%202016%20%E4%B8%8A%E9%87%8D%E6%96%B0%E5%BA%94%E7%94%A8%E7%AD%9B%E9%80%89%E5%99%A8%E7%9A%84%E5%AE%8F.png)
我有一台 Mac,正在运行 Excel 2016。我有一个按日期自动过滤的 Excel 表。
直到最近,我保存了一个宏,它允许我按 Command+Option+n,然后它就会重新应用过滤器,而无需我去家->排序和过滤->重新应用筛选。
由于某种原因,最近的 Office 更新删除了该宏,我似乎无法再找到它。
我曾尝试录制宏,但运行它时,它显示:Runtime Error 1004
。
宏本身内容如下:
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Option+Cmd+n
'
ExecuteExcel4Macro "()"
With ActiveWorkbook.Worksheets("Leads").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
有人能告诉我如何让它工作吗?我几乎一直在更新表格,所以有一个刷新过滤器的快捷方式让我的生活变得轻松多了!
答案1
这对我有用:
Sub ReapplyFilter()
ActiveSheet.AutoFilter.ApplyFilter
End Sub
希望有所帮助。
答案2
我遇到了同样的问题。原来我试图在没有过滤器的工作表上重新应用过滤器。以下是有效的代码:
If Not (ws.AutoFilter Is Nothing) Then
Debug.Print "Reapplying autofilter for " & ws.Name
ws.AutoFilter.ApplyFilter
End If