● EXCELでタイマーを使うサンプル
繰り返し処理を行うためのタイマーです。
カウント開始ボタンを押すとタイマーを開始して、
カウント停止ボタンを押すと、タイマーを停止します。
インターバルは1秒単位で設定できます。
○注意点
メニュー操作や、グラフ、セルを編集するとタイマーが一時停止する。
正確さを求められる処理には向かない。
《記述場所》
〔ソースリスト〕
Option Explicit
Private Sub CommandButton1_Click()
CommandButton1.Enabled = False
CommandButton2.Enabled = True
myf = ActiveWorkbook.Name
mys = ActiveSheet.Name
Count = 0
Timer_flg = True
Application.OnTime Now + TimeValue("00:00:01"), "OnTimeEntryProc"
End Sub
Private Sub CommandButton2_Click()
Timer_flg = False
CommandButton1.Enabled = True
CommandButton2.Enabled = False
End Sub
CommandButton1.Enabled = False : 現在の状況を示すためと、ボタン2度押し等の操作ミスを防ぐため
開始ボタンが押されたらボタンを無効にしています。 = True で有効になります。
《記述場所》
〔ソースリスト〕
Option Explicit
Public Count As Long 'カウント値格納用変数
Public Timer_flg As Boolean 'タイマーの動作フラグ
Public myf As String 'ブックの名前保存用変数
Public mys As String 'シートの名前保存用変数
Sub OnTimeEntryProc()
If Timer_flg = True Then
Application.OnTime Now + TimeValue("00:00:01"), "OnTimeEntryProc"
Count = Count + 1
Workbooks(myf).Sheets(mys).Range("B2").Value = Count
If Count > 30000 Then
Timer_flg = False
MsgBox "カウントが30000を超えたので停止します", vbOKOnly
Workbooks(myf).Sheets(mys).CommandButton1.Enabled = True
Workbooks(myf).Sheets(mys).CommandButton2.Enabled = False
End If
End If
End Sub
○サンプルファイルダウンロード○(準備中)
|