ストップウォッチ(1/100秒)(Timer)
ストップウォッチを作ってみましょう。
機能は簡単に、
・ボタンを押すと、0からスタートし時間表示が進む。
・もう一度ボタンを押すとストップする。
これだけです。
マクロをスタートさせたり、ストップさせたりする方法の紹介になります。
ただし、1/100秒、つまり、ミリ秒単位で計測できるようにします。
ストップウォッチVBAコード
Private blnStop As Boolean
Private blnStart As Boolean
Sub StopWatch()
Dim dblTimer As Double
If blnStart = True Then
blnStop = True
Exit Sub
End If
blnStart = True
blnStop = False
dblTimer = Timer
Do Until blnStop = True
Cells(1, 1) = Int((Timer - dblTimer) * 100) / 100
DoEvents
Loop
blnStart = False
blnStop = False
End Sub
ストップウォッチVBA解説
そのマクロを登録したボタンを、シートに追加して下さい。
時間表示は、"A1"セルにしてあります。
・フォントサイズを大きく
・背景色とフォント色を設定
・表示形式を少数点以下2桁
このように設定しておくと、ストップウォッチらしく見えると思います。

まず、上記のように、モジュールレベル変数を定義します。
blnStartは、スタートしている間、Trueにします。
blnStopは、ストップさせる時に、Trueにします。
ScreenUpdatingをFalseにはしない事です。
そして、
DoEventsを入れる事になります。
DoEventsが無いと、直ぐには停止しません。
エクセルでマクロVBAを書いてストップウォッチそのものを作る事はあまりないと思います。
ここでは、ストップウオッチを作るテクニックを紹介する事で、
そのテクニックが、他で応用出来るだろうと言う事です。
この方法は、時間のかかるマクロを途中で停止させたい場合に有効です。
試してみて下さい。
ストップウォッチ機能強化版
意外に反応が多く、問合せをいただくこともあり、
その中の話として、
・ラップタイム(区間の時間)
・スプリットタイム(その時点までの時間)
これらを計測したいとの要望をいただきました。
そこで、これらの機能を追加した機能強化版を作成しました。
ストップウォッチ改(1/100秒)(Timer)
同じテーマ「VBAサンプル集」の記事
計算式の元となる数値定数を消去する(Precedents)
Beep音で音楽(Beep,Sleep)
日付の検索(配列の使用)
ストップウォッチ(1/100秒)(Timer)
ストップウォッチ改(1/100秒)(Timer)
重複の無いユニークなデータ作成
WEBデータの取得方法
右クリックメニューの変更(CommandBars)
エクセルのアイコン取得(FaceID)
素数を求めるマクロ
入力規則のリスト入力を確認する
新着記事NEW ・・・新着記事一覧を見る
トランザクション処理|SQL入門(12月11日)
インデックスを作成して高速化(CREATE INDEX)|SQL入門(12月9日)
他のテーブルのデータで追加/更新/削除|SQL入門(12月8日)
データの削除(DELETE)|SQL入門(12月7日)
データの更新(UPDATE)|SQL入門(12月6日)
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(12月5日)
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(12月4日)
データベースの正規化とマスタの作成|SQL入門(12月3日)
データベースにおけるNULLの扱い方|SQL入門(12月2日)
オブジェクト変数とは何か|VBA技術解説(12月2日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。