あなたは仕事中にカウントアップタイマー、カウントダウンタイマーを使いたいと思ったことはありませんか?
今ならスマホにもストップウォッチ機能が付いていますが、エクセル上でタイマーが使えれば、そのまま時間データ結果を別のセルにコピペできるので、記録したいときは便利ですよね。
だいたいスマホを取り出したり、スマホに表示された時間をPCに打ち込むのも面倒です。
エクセルのマクロを使えば、カウントアップ/カウントダウンタイマーを作れば解決です。
今回は「エクセルでカウントアップ・カウントダウンタイマーを作る方法」を紹介します。
エクセルでカウントアップ・カウントダウンタイマーを作る方法
エクセルでカウントアップ・カウントダウンタイマーを作る方法です。
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンク
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.ボタンができた

4.ボタンを4つ作る
同じようにあと3つ作ります。

5.ボタンの名前を変える
わかりやすいように、ボタンの名前を変えておくといいです。

6.コード入力画面を開く

7.コードを入力
コードを入力します。
4つボタンがあるので、それぞれ、カウントアップ、カウントダウン、タイマーストップ、リセットする、という意味です。

赤枠部のコードです。
Dim countUpTime As Date
Dim counting As Boolean
Sub StartCountUpTimer()
    ' カウントアップタイマーを開始する
    If counting = False Then
        counting = True
        countUpTime = Now ' タイマー開始時間
        Application.OnTime Now + TimeValue("00:00:01"), "UpdateCountUpTimer"
    End If
End Sub
Sub UpdateCountUpTimer()
    ' タイマーの現在時間を表示し続ける
    If counting Then
        ThisWorkbook.Sheets(103).Range("A2").Value = Format(Now - countUpTime, "hh:mm:ss")
        Application.OnTime Now + TimeValue("00:00:01"), "UpdateCountUpTimer"
    End If
End Sub
Sub StopTimer()
    ' タイマーを停止する
    counting = False
    On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:01"), "UpdateCountUpTimer", , False
    On Error GoTo 0
End Sub
Sub ResetTimer()
    ' タイマーをリセットする
    counting = False
    ThisWorkbook.Sheets(103).Range("A2").Value = "00:00:00"
    ThisWorkbook.Sheets(103).Range("A4").Value = "0"
End Sub
Sub StartCountDownTimer()
    ' カウントダウンを開始
    counting = True
    UpdateCountDownTimer
End Sub
Sub UpdateCountDownTimer()
    ' A2セルの値を1減らす
    Dim currentValue As Long
    currentValue = ThisWorkbook.Sheets(103).Range("A4").Value
    ' 値が0より大きい場合のみ減らす
    If currentValue > 0 And counting Then
        ThisWorkbook.Sheets(103).Range("A4").Value = currentValue - 1
        
        ' 1秒後に再度呼び出す
        Application.OnTime Now + TimeValue("00:00:01"), "UpdateCountDownTimer"
    Else
        ' 値が0以下またはカウント停止なら終了
        counting = False
        If currentValue <= 0 Then
            MsgBox "カウントダウンが完了しました。", vbInformation
        End If
    End If
End Sub
Sub Sheet97_ボタン1_Click()
    ' カウントアップタイマーマクロを呼び出す
    StartCountUpTimer
End Sub
Sub Sheet97_ボタン2_Click()
    StartCountDownTimer
End Sub
Sub Sheet97_ボタン3_Click()
    StopTimer
End Sub
Sub Sheet97_ボタン4_Click()
    ResetTimer
End Sub
8.ボタンができた →ボタンをクリック
ボタンができたら、ボタンをクリックします。
カウントアップを押すと、A2セルが1秒に1ずつ増えていきます。

上の画像は、4秒経過時です。
9.カウントダウンボタンを押す
カウントダウンはA4セルで行います。
A4セルに数字を入れてから、カウントダウンを押すと、1秒に1ずつ数字が減ります。
ここでは「100」を入れました。

10.ストップボタンを押す
途中で止めたい場合は、ストップを押すと止まります。

6秒経過したところで、止めました。
11.リセットボタンを押す
リセットボタンを押すと、A2、A4セルが「0」にリセットされます。

これで、カウントアップ/ダウンが簡単にできますね!
まとめ
エクセルでカウントアップ・カウントダウンタイマーを作る方法のまとめです。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.ボタンを4つ作る
4.ボタンの名前を変える
5.コードを入れる画面を出す
6.コードを入力
7.ボタンができた →ボタンをクリック
8.カウントアップ/ダウンタイマーができた
これでいちいちスマホを取り出さずにタイマー機能が使えますね!結果のコピペも簡単です。
タイマー機能が使えたら、アラーム機能も使いたくないですか?
スマホが使えない場所でも、PCでアラームが使えるようにできる方法を紹介しています。
 
  
  
  
  

コメント