以下を含む一連のコードがあります。
Application.Wait (Now + TimeValue("4:00:00"))
これは基本的に、午前 3 時 (コードの実行が終了するとき) から午前 7 時 (再開するとき) までの 4 時間の枠でマクロを一時停止することです。コードは本質的に無限ループにあります。
その間、ユーザーが特定のセルを編集できるようにしたいと考えています。私が試してみました
DoEvents
マクロを実行し続ける方法を見つけていませんが、マクロが何もしていない間、ユーザーに制御を提供します.
任意の洞察をいただければ幸いです。ありがとう!
編集:
追加の質問をもう 1 つ。このマクロは、実際のマクロ「Production_Board」を参照するために作成しました。このマクロを常に実行し、できるだけ頻繁に更新したいと考えています。goto startagain を使用することで、「ontime」遅延間隔のためにマクロが開始される前に、マクロの再起動を開始しようとします。
マクロ「Production_Board」が終了した瞬間に、サブ RunMacro を再び開始するにはどうすればよいですか?
Sub RunMacro
startagain:
Dim hour As Integer
Dim OT As String
hour = 0
OT = "Empty"
hour = Sheets("Calculations").Range("DR1").Value
OT = Sheets("Black").Range("D4").Value
If OT = "Y" Then
If hour = 3 Or hour = 4 Then
Application.OnTime TimeValue("05:00:00"), "Aespire_Production_Board"
Else
Application.OnTime Now + TimeValue("00:00:30"), "Aespire_Production_Board"
End If
Else
If hour = 3 Or hour = 4 Or hour = 5 Or hour = 6 Then
Application.OnTime TimeValue("07:00:00"), "Aespire_Production_Board"
Else
Application.OnTime Now + TimeValue("00:00:30"), "Aespire_Production_Board"
End If
DoEvents
GoTo startagain