自动刷新自动过滤器 - 是否为VBA

时间:2013-05-22 15:07:50

标签: excel refresh autofilter

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

任何帮助都会非常感激。

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

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 

1 个答案:

答案 0 :(得分:3)

此代码需要包含特定于包含AutoFilter的工作表的模块:

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

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

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