セルにファイル開封後の時間経過表示がフリーズします。


メロス  2009-06-10 21:06:16  No: 142045

初心者です。(少し長いですが、失礼いたします。)
ファイルを開くと時間経過が始まり、一定時間経過後にセルロックがかかり、マクロインフォメーションでタイムアップをお知らせするように作ったのですが、時間経過を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


砂時計  2009-06-10 21:12:35  No: 142046

失礼しました。
タイトルは「セルの開封後の時間経過表示がフリーズする。」でした。
(以下はもう一つの式です。)
Sub Timecount(t As String)
    Worksheets("シート1").Range("E1") = t
    If t = "0" Then
    Cell_Rock
    myPopUp
    End If
End Sub


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加