Вопрос Автовосстанавливающий авто фильтр в excel, обновление


Как автоматически обновлять автоматический фильтр Excel при изменении данных?

Случай использования: я меняю значение одной ячейки на значение, которое было отфильтровано. Я хочу, чтобы текущая строка исчезла, не делая ничего другого.

Кажется, что это не работает с более сложными случаями:

предположим, что у вас есть лист и таблица из 2 столбцов: col A: результат оценки формулы, число; col B = имя; Задача проста: создать фильтр имен и номеров на основе критериев количества> 0

Что вы делаете, для этого используется автофильтр, и он работает. Но не автоматическое обновление.

Макросы, предлагаемые как-то не хотят работать:

  • Во-первых, я создаю автофильтр и применяю критерии (работает)
  • Во-вторых, я изменяю содержимое соседних листов, что приводит к изменению листа acive (col A)
  • Макросы запускаются, но он не перефильтрует список: старые записи все еще существуют, но с новыми номерами (даже 0, когда я использую критерии> 0). -После того, как макросы отключают режим и фильтр автофильтра, я теряю свой выбор и должен повторно выбирать вручную.

Общий сбой .... любые комментарии?


2
2017-08-05 10:24


происхождения


Это поможет, если вы разместите код макроса, который вы пытаетесь - chris neilsen


ответы:


Попробуй это

Поместите это в свой 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

Затем всякий раз, когда вы вводите что-то в ячейку, которая является частью диапазона фильтров, фильтр обновляется


1
2017-08-06 01:10