ExcelVBAでタイマーイベントを作る

2020年3月19日

VBAで一定時間ごとに処理を行う

たとえば、ボタンをクリックで1秒ごとにワークシートなどに
描画行う処理を作りたい場合、Application.OnTimeを利用します。

' ワークシート内に配置したボタンをクリックすると
' 1秒ごとにシートに描画する
Private Sub CommandButton1_Click()
    Call StartDrow
End Sub

'以下の内容は標準モジュール内に記述すること
' 描画処理を開始するサブルーチン
Sub StartDrow()
    Call Draw
End Sub

' 描画処理を行うサブルーチン
Sub Draw()
    ' 描画処理を記述
    Application.OnTime Now _
    + TimeValue("00:00:01"), _
    "Draw" _
    ' 繰り返し実行したいサブルーチン名を記述
End Sub
'---------

Excel, VBA

Posted by fanfanta