エクセルでカウントアップ・カウントダウンタイマーを作る方法

エクセル

あなたは仕事中にカウントアップタイマー、カウントダウンタイマーを使いたいと思ったことはありませんか?

今ならスマホにもストップウォッチ機能が付いていますが、エクセル上でタイマーが使えれば、そのまま時間データ結果を別のセルにコピペできるので、記録したいときは便利ですよね。

だいたいスマホを取り出したり、スマホに表示された時間を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.カウントアップ/ダウンタイマーができた

これでいちいちスマホを取り出さずにタイマー機能が使えますね!結果のコピペも簡単です。

コメント

タイトルとURLをコピーしました