《VBA・CSS》入門実用Tips集 +α

メニュー一覧


HOME

 エクセルVBA
  ●応用●
  5-7

 wwwcount改造

 CSS(スタイルシート)基本

 BiglobeブログCSS

 CSSいろいろリファレンス

 HTML基本

 HTML簡易リファレンス

 Home > エクセルVBA > 5-7 応用

● EXCELでタイマーを使うサンプル

繰り返し処理を行うためのタイマーです。
カウント開始ボタンを押すとタイマーを開始して、
カウント停止ボタンを押すと、タイマーを停止します。
インターバルは1秒単位で設定できます。

画面です

○注意点
  メニュー操作や、グラフ、セルを編集するとタイマーが一時停止する。
  正確さを求められる処理には向かない。


《記述場所》
画面です

〔ソースリスト〕


Option Explicit

Private Sub CommandButton1_Click()

  CommandButton1.Enabled = False  '開始ボタンを無効にする
  CommandButton2.Enabled = True   '停止ボタンを有効にする

  myf = ActiveWorkbook.Name   '現在アクティブなBookの名前を取得
  mys = ActiveSheet.Name    '現在アクティブなシートの名前を取得

  Count = 0           'カウント値クリア

  '-------------------------タイマー開始(Module1内OnTimeEntryProc()で自動更新)

  Timer_flg = True        'タイマーの動作フラグ = 真 = 動作中

  '一秒後に 標準モジュールに作った OnTimeEntryProc を呼び出す命令
  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()

  ' Timer_flg変数値が真なら、タイマー更新+表示
  If Timer_flg = True Then
    Application.OnTime Now + TimeValue("00:00:01"), "OnTimeEntryProc"

    '---------------------- ここから処理を記述する ------------------------

    'カウントアップ
    Count = Count + 1

    '表示
    Workbooks(myf).Sheets(mys).Range("B2").Value = Count

    'カウントが30000を超えたら停止する。
    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







○サンプルファイルダウンロード○(準備中)






 − Copyright(2007). 犬神犬 −