如果我突出显示整个第一行并对其进行筛选,则每次添加新列时都不需要重复该过程。有办法解决这个问题吗?我可以运行宏,但每次添加新列时这仍然是一个额外的步骤。
例如,如果我有一个名为“苹果种类”的列,并且我突出显示整个第一行并单击数据>过滤器,那么当我为“橙子种类”创建另一列时,该列应该自动过滤,因为我已经告诉 Excel 我想要过滤整个第一行。
版本:Excel 365 ProPlus,版本 1750
答案1
您不仅可以在数据末尾添加额外的列并自动应用过滤器,还可以在底部添加额外的数据行,并且表格将自动增长。
答案2
我想建议两种选择。
1.选择数据范围,右键单击,点击过滤,然后重新应用。
2.此 VBA 代码将帮助您在添加或删除新列时应用过滤器。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As range)
Dim ws As Worksheet
Dim rng As range
Set ws = Sh
If ws.AutoFilterMode Then
With ws.AutoFilter.range
If (Target.Column < .Column) And (Target.Column + Target.Columns.count >=
.Column - Target.Columns.count) Or (Target.Column >= .Column + .Columns.count) Then
Set rng = ws.AutoFilter.range
ws.AutoFilter.range.AutoFilter
ws.range(Target, rng).AutoFilter
End If
End With
End If
End Sub
希望这对你有帮助。我测试过后发布了这个解决方案。