我对VBA很新。 我想编码以在打开工作表时在我的所有单元格中自动添加过滤器控件。
我创建了一个宏并使用了该代码,但它没有做任何事情。
以下是我向所有列添加过滤器控件的代码:
ThisWorkbook.Sheets("my example1").Cells.Select
ThisWorkbook.Sheets("my example1").Selection.AutoFilter
感谢您的帮助
答案 0 :(得分:0)
我认为您需要在过滤之前更加具体地了解您选择的内容, e.g。
ThisWorkbook.Sheets("my example1").Range("A1:Z1")
或整个顶行:
ThisWorkbook.Sheets("my example1").Range("1:1")
并且,如上所述,检查自动过滤器是否已关闭:
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
答案 1 :(得分:0)
我最终将过滤器代码放在了sheet_change事件中。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Sheets("YTD Detail").Select
Cells.Select
Selection.AutoFilter
Range("A1").Select
Application.ScreenUpdating = True
End Sub