土曜日, 2月 24, 2024

Excel VBA 25 
カウントダウンを表示し、終了後に完了を表示

JavaScriptの時と同様に、VBAで1分のカウントダウンを表示し、終了後に「完了」を表示してみます。

Sub CountdownTimer()
Dim startTime As Double
Dim elapsedTime As Double
Const countdownDuration As Double = 60
    ' カウントダウンの秒数
Dim remainingTime As Double
startTime = Timer ' 開始時間を記録
Do
elapsedTime = Timer - startTime ' 経過時間を計算
remainingTime = countdownDuration - elapsedTime
        ' 残り時間を計算
If remainingTime <= 0 Then
MsgBox "完了"
Exit Sub ' 終了
Else
MsgBox "残り時間: "
            & Format(remainingTime, "0") & "秒"
End If
DoEvents ' イベントの処理を許可
Loop Until False
End Sub

VBAでは、1分のカウントダウンを直接的に表示することはできないので・・・
メッセージボックスをクリックした時点でのみカウント数を確認できます。もうちょっと可能性を模索してみます。