初心者です。(少し長いですが、失礼いたします。)
ファイルを開くと時間経過が始まり、一定時間経過後にセルロックがかかり、マクロインフォメーションでタイムアップをお知らせするように作ったのですが、時間経過をE1セルに表示されるようにしてみたところ、61分あたりでカウントダウンが止まってしまいました。ところが30分ほどすると、残り時間表示が39分ごろになり、また残り2分くらいで、ストップ。ファイルを一旦閉じて再度開封後5分くらいするとカウントダウン開始。その後0まで経過。右下の時計で記録しながら観察したところ、カウントダウン0までのトータル時間とはズレが生じている模様。どうもセルの表示が内部の時間と一致していないような感じがします。
なぜ、途中でカウントダウンがフリーズするのか、何が問題なのかよくわかりません。以下の式に問題があるのでしょうか?
よろしくお願いいたします。
Sub Auto_Open()
TimeLeft = Worksheets("シート1").Range("E1").Value
timelefthour = Format(TimeLeft / 60, "00")
TimeLeftMin = Format(TimeLeft Mod 60, "00")
Application.OnTime Now + TimeValue(CountTimeHour & ":" & CountTimeMin & ":00"), "'Timecount(0)'"
Do Until TimeLeft = 0
CountTime = Worksheets("シート1").Range("E1") - TimeLeft
CountTimeHour = Format(CountTime / 60, "00")
CountTimeMin = Format(CountTime Mod 60, "00")
Application.OnTime Now + TimeValue(CountTimeHour & ":" & CountTimeMin & ":00"), "'Timecount(" & CStr(TimeLeft) & ")'"
TimeLeft = TimeLeft - 1
Loop
End Sub
失礼しました。
タイトルは「セルの開封後の時間経過表示がフリーズする。」でした。
(以下はもう一つの式です。)
Sub Timecount(t As String)
Worksheets("シート1").Range("E1") = t
If t = "0" Then
Cell_Rock
myPopUp
End If
End Sub
ツイート | ![]() |