1

每当新数据输入到 C 列(这是 A、B 和 D 中的值的根变量)时,我一直在尝试并且未能找到刷新自动过滤器的代码(过滤器的标准在 A 列中)

任何帮助将非常感激。

这是我在其他线程中找到的代码,但我无法让它工作。

Private Sub Worksheet_Calculate() 

           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 
4

1 回答 1

3

此代码需要进入特定于包含您的自动过滤器的工作表的模块中:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 Then
        ActiveSheet.AutoFilter.ApplyFilter
    End If
End Sub

应该注意的是,使用这种方法,您只会看到 AutoFilter 评估为 true 的行,所以实际上,您只能更改 C 中的数据,以便在过滤器刷新后删除当前存在的行,并且不是相反。

希望这是有道理的。如果没有,请告诉我。

于 2013-05-22T21:56:38.823 回答