【问题标题】:Automatically refresh autofilter - VBA or not自动刷新自动过滤器 - VBA 与否
【发布时间】:2013-05-17 17:14:01
【问题描述】:

每当新数据输入到 C 列(这是 A、B 和 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 

【问题讨论】:

    标签: excel refresh autofilter


    【解决方案1】:

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

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

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

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

    【讨论】:

    • .AutoFilter.ApplyFilter 不适用于 Excel 2007 之前的版本。对于 XL03 及之前的版本,请保存过滤器数据 .ShowAllData,然后重建自动过滤器以更新它们。
    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 2021-03-29
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多