Автоматически повторно применять фильтр каждые X минут

Автоматически повторно применять фильтр каждые X минут

У меня есть электронная таблица, которая использует сервер RTD для обновления цен на акции в режиме реального времени.

У меня к таблице применен фильтр, и я хотел бы автоматически применить его повторно.

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

Private Sub Worksheet_Change(ByVal Target As Range)

    ActiveSheet.AutoFilter.ApplyFilter

End Sub

Поэтому мне стало интересно, возможно ли повторно применять фильтр каждые 5 минут.

Решение этой проблемы есть по ссылке ниже, но я не совсем понимаю, как это сделать.

https://superuser.com/a/524527

решение1

Собираем вместе ваша ссылка и ссылка от gns100, дает нам следующий макрос VBA. Назовите его любым именем, которое вам нравится, и запустите его один раз, чтобы начать цикл таймера.

Public Sub EventMacro()
    ActiveSheet.ShowAllData                    '<- keeps filter alive but shows all data
    ActiveSheet.AutoFilter.ApplyFilter         '<- apply the filter
    alertTime = Now + TimeValue("00:05:00")    '<- time = now + 5 minutes
    Application.OnTime alertTime, "EventMacro" '<- set timer
End Sub

(Я не тестировал этот макрос.)

Связанный контент