EXCELマクロで指定した時間がきたら、特定のマクロ関数を実行させる方法について紹介します。この機能はEXCELマクロでRPA的な処理を実行させる場合に有効です。
この処理には、「Application.OnTime メソッド」を使います。
'
' 処理
'
Sub test()
Dim cc As Range
Set cc = Worksheets("20231231").Range("B3")
tdata = DateValue(Format(Date, "yyyy/mm/dd")) + TimeValue(cc.Value)
pp = "'Msg" & Chr(34) & Worksheets("20231231").Cells(cc.Row(), "C").Value & "'"
Application.OnTime EarliestTime:=tdata, Procedure:=pp
End Sub
'
' 指定の時間がきたら実行される
'
Sub Msg(msgdata As String)
MsgBox (msgdata)
End Sub
20231230シート
上記の処理では、
①「20231230」シートのB3セルに時刻を設定します。
② ①の時刻に日付を加えて、tdata に入力する
③ OnTimeメソッドに日時と引数を加えて実行する
④ 時間がくると、Msg関数(プロシージャ)が実行されます。
以下のポップアップが表示されます。