Excel 中的自动刷新自动过滤器,更新

Excel 中的自动刷新自动过滤器,更新

当数据改变时,如何自动刷新 Excel 自动过滤器?

用例:我将一个单元格的值更改为已过滤的值。我想看到当前行消失,而无需执行任何其他操作。

似乎它不适用于更复杂的情况:

假设您有一张工作表和一个包含两列的表格:col A:公式评估结果,一个数字;col B = 名称;任务很简单:根据数字标准 >0 创建名称和数字过滤器

您要做的是使用自动过滤,它确实有效。但不会自动刷新。

提出的宏不知何故不起作用:

  • 首先,我创建自动过滤器并应用标准(有效)
  • 其次,我更改了相邻工作表的内容,这导致活动工作表(col A)发生更改
  • 宏运行,但它不会重新过滤列表:旧记录仍然存在,但有新编号(当我使用> 0 标准时,甚至是 0)。 - 然后宏关闭自动过滤模式和按钮,所以我失去了选择并且必须手动重新选择。

彻底失败……有什么评论吗?

答案1

尝试这个

将其放在你的ThisWorkbook模块中

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If TypeName(Sh) = "Worksheet" Then
        With Sh
            If .AutoFilterMode Then
                If Not Intersect(.AutoFilter.Range, Target) Is Nothing Then
                    .AutoFilter.ApplyFilter
                End If
            End If
        End With
    End If
End Sub

然后,每当您在筛选范围内的单元格中输入内容时,筛选器都会刷新

相关内容