Execel VBA で教えてください 1時間に1回、MsgBox で 「1時間経ちました。休憩してください」とメッセージを出したいのですが、どのようにしたらよいでしょうか?

Visual Basic | Excel99閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

1

1人がナイス!しています

ご回答ありがとうございました。 すみません。 おそらく実行時間の時間表記だと思うのですが、 2行目の(Time * 24 + 1) / 24 の内容が分かりませんでした。 (3行目のif式の計算も分かりませんでした) もしよろしければ後学のためにご教授いただけないでしょうか?

その他の回答(1件)

1

0時から7時もAlarmを出す様にしています。 ここは調整して下さい このブックを閉じる時は 登録されているOntimeをキャンセルします (Thisworkbookモジュール) --- 標準モジュール ---- Option Explicit Public AlarmTime As Date Sub Sample() 毎正時起動 End Sub Private Sub Alarm() If Hour(Now) >= 8 And Hour(Now) < 18 Then MsgBox "1時間経ちました。休憩してください" Else MsgBox "定時を過ぎてます。早く帰りましょう" End If Beep 毎正時起動 End Sub Private Sub 毎正時起動() AlarmTime = CDate(Format(Now + TimeValue("1:0:0"), "YYYY/MM/DD hh:0:0")) Application.OnTime AlarmTime, "Alarm" End Sub --- ThisWorkbook モジュール ---- Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.OnTime AlarmTime, "Alarm", , False End Sub -----------------------------------

1人がナイス!しています