我查看了其他线程,但无济于事。我的工作簿中有几张表,其中一张是数据表,其他的从中提取数据。我在这些表中设置了一个过滤器,不显示任何显示为“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