
RTD サーバーを使用して株価をリアルタイムで更新するスプレッドシートがあります。
スプレッドシートにフィルターを適用しましたが、それを自動的に再適用したいと思います。
データが更新されるたびにフィルターを再適用する解決策を見つけましたが、RTD サービスによって更新されたデータでは機能しないようです。
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.AutoFilter.ApplyFilter
End Sub
そこで、5 分ごとにフィルターを再適用できるかどうか疑問に思いました。
この問題の解決策は以下のリンクにありますが、やり方がよくわかりません。
答え1
まとめる あなたのリンク そしてその gns100 によるリンクすると、次の VBA マクロが取得されます。任意の名前で呼び出し、1 回実行するとタイマー ループが開始されます。
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
(このマクロはテストしていません。)