如何让 Excel 在添加每个附加列时对其进行过滤?

如何让 Excel 在添加每个附加列时对其进行过滤?

如果我突出显示整个第一行并对其进行筛选,则每次添加新列时都不需要重复该过程。有办法解决这个问题吗?我可以运行宏,但每次添加新列时这仍然是一个额外的步骤。

例如,如果我有一个名为“苹果种类”的列,并且我突出显示整个第一行并单击数据>过滤器,那么当我为“橙子种类”创建另一列时,该列应该自动过滤,因为我已经告诉 Excel 我想要过滤整个第一行。

版本:Excel 365 ProPlus,版本 1750

答案1

将数据区域格式化为表格

  1. 选择数据范围
  2. 在“开始”选项卡上,单击“格式化为表格”。 按下“格式化为表格”按钮的屏幕截图
  3. 单击要使用的表格样式

您不仅可以在数据末尾添加额外的列并自动应用过滤器,还可以在底部添加额外的数据行,并且表格将自动增长。

答案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

希望这对你有帮助。我测试过后发布了这个解决方案。

相关内容