処理に要した所要時間を取得

Sub CalculateProcessTimeWithoutSeconds()
    Dim startTime As Double
    Dim endTime As Double
    Dim elapsedTime As Double
    Dim hours As Long
    Dim minutes As Long
    
    ' 処理開始時刻を記録
    startTime = Timer
    
    ' ここに実行したい処理を記述
    ' 例: 5秒間のディレイを挿入
    Application.Wait (Now + TimeValue("0:00:05"))
    
    ' 処理終了時刻を記録
    endTime = Timer
    
    ' 所要時間を計算(秒)
    elapsedTime = endTime - startTime
    
    ' 所要時間を「時間:分」に変換
    hours = Int(elapsedTime / 3600)
    minutes = Int((elapsedTime Mod 3600) / 60)
    
    ' 結果をメッセージボックスで表示
    MsgBox "開始時刻: " & Format(startTime / 86400, "hh:mm AM/PM") & vbCrLf & _
           "終了時刻: " & Format(endTime / 86400, "hh:mm AM/PM") & vbCrLf & _
           "所要時間: " & hours & "時間" & minutes & "分", vbInformation, "処理時間"
End Sub

コメント