• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「一定の時間間隔で5秒毎にマクロを実行する」)

一定の時間間隔で5秒毎にマクロを実行する

このQ&Aのポイント
  • マクロを定期的に実行する方法について質問があります。
  • 質問者は、startは正常に動作するが、stopが失敗していると述べています。
  • 具体的なエラーメッセージとして、「Ontimeメソッドは失敗しました。Applicationオブジェクト」というものが表示されています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

「Dim tt As Date」はモジュールの先頭。プロシージャの外に記述してください。 Dim tt As Date Sub t_start() Call last20txt End Sub Sub t_stop() Application.OnTime earliesttime:=tt, procedure:="last20txt", Schedule:=False End Sub Sub last20txt() Dim Srg As Range Dim kensu As Long Set Srg = Cells(1, 1) Workbooks.Open ("C:***.csv") kensu = Cells(Rows.Count, 1).End(xlUp).Row Range(Cells(kensu - 19, 1), Cells(kensu, 4)).Copy Srg ActiveWorkbook.Close Dim wt As Date tn = Now() tt = tn + TimeValue("00:00:05") '5秒後 wt = TimeValue("00:00:02") 'インターバル2秒 Application.OnTime tt, "last20txt", wt End Sub

参考URL:
http://officetanaka.net/excel/vba/variable/05.htm
komet115
質問者

お礼

ばっちりできました。 ありがとうございました。 またよろしくお願いします。