如何启用 Excel 工作表以自动更新我已应用的筛选器

如何启用 Excel 工作表以自动更新我已应用的筛选器

我查看了其他线程,但无济于事。我的工作簿中有几张表,其中一张是数据表,其他的从中提取数据。我在这些表中设置了一个过滤器,不显示任何显示为“false”的内容,这很好,直到我将数据添加到主数据表中。我希望有人能帮助我让其他表自动更新、显示/取消显示数据,而不必我一直重新应用过滤器!我希望这有意义!

我曾尝试使用此代码(从本网站的其他线程中找到),但似乎对我不起作用,我做错了什么!

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.FilterMode = True Then
    With Application
       .EnableEvents = False
       .ScreenUpdating = False
    End With

    With ActiveWorkbook
        .CustomViews.Add ViewName:="Mine", RowColSettings:=True
      Me.AutoFilterMode = False
        .CustomViews("Mine").Show
        .CustomViews("Mine").Delete
    End With


     With Application
       .EnableEvents = True
       .ScreenUpdating = True
    End With
End If
End Sub

答案1

您正在使用

Private Sub Worksheet_Change(ByVal Target As Range)

确实如此扳机当特定目标发生变化时触发。您尚未根据任何条件检查目标,因此不会触发。您应该检查目标变化是否在您的过滤范围内,例如

If Not Intersect(Target, Range("A1:A10") is Nothing Then

相关内容