- ベストアンサー
VBA オートフィルタの自動更新
ご教示お願いします。 セルB2~B100まで数値が入っています。 この数値をオートフィルタにて、2秒間隔で降順に並べ変えるということをVBAで実行したいです(2秒間隔でVBAを実行させたい)。 ※セルB2~B100の数値を変化させている為、オートフィルタにて随時更新する必要があるので、2秒間隔で降順に並べ変えたいという意図です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
標準モジュール内に以下のコードを Dim NextTime as Date Sub TimerSort() Sheets("Sheet1").Range("B2:B100").Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlYes NextTime = Now + TimeValue("00:00:02") Application.OnTime NextTime, "TimerSort", ,Ture End Sub Sub TimerStop() Application.OnTime NextTime, "TimerSort", ,False End Sub TimerSortを実行すると以後2秒毎にソートを実行します。 正し、正確に2秒後ではなくExcel が入力中、コピー、切り取り、検索などの状態であれば終了を待って実行となります。 Sortの部分のコードは状況に合わせ変更してください。 TimerStop実行でタイマー処理を停止します。
その他の回答 (1)
- Masa2072
- ベストアンサー率51% (94/182)
回答No.2
True の綴りが Tureになってますね。 失礼しました 訂正してください。
質問者
お礼
解決いたしました。 ご回答いただきましてありがとう御座いました。 お礼が遅くなり申し訳御座いませんでした。
補足
ご回答ありがとうございます。 TimerSortのコードを実行しましたが、以下のエラーで止まってしまいました。 「ontimeメソッドは失敗いたしましたapplicationオブジェクト」 知識不足の為、修正できません。 お手数おかけしますが、お願いいたします。