私のExcelワークシートで2台のタイマーを起動して停止したい。これは私が持っているものです。vba start stop timer?
Sub SetOpenTimer()
OpenTimer = Now + TimeValue("00:00:10")
Application.OnTime OpenTimer, "StartTimerShutdownForm"
End Sub
10秒(この例では)した後、サブstartimershutdownform
がトリガされています:
Sub StartTimerShutdownForm()
UserForm1.Show
End Sub
これをワークシートは、このモジュールがトリガされ、開かれ
メッセージが表示されるユーザーフォームを表示します。ユーザーフォームでの初期化サブでサブsetformtimer
がトリガされます。
Sub setFormTimer()
FormTimer = Now + TimeValue("00:00:10")
Application.OnTime FormTimer, "Shutdown"
End Sub
をsetformtimer
両端でこのタイマー場合は、サブshutdown
がtriggerd あるこのサブは、ブックを閉じますが、ユーザーフォームにユーザーのためのボタンがありますキャンセルするsetformtimer
:
Sub stopFormTimer()
Application.OnTime EarliestTime:=FormTimer, _
Procedure:="setOpenTimer", Schedule:=False
End Sub
これはsetformtimer
停止すると仮定し、それは動作しません。 このタイマーが停止すると、ドキュメントが開かれているときにトリガーされるタイマーを再起動し、すべてが再開しますが、タイマーの停止コードは機能しません。 stopFormTimer
、setFormTimer
とStartTimerShutdownForm
が配置されているモジュールでは
、上部に私はこれらの
Dim OpenTimer As Date
Dim FormTimer As Date
を宣言私はここで何をしないのですか?なぜ私はタイマーを停止し、最初のタイマーを再開できませんか?
フォームが表示されているので、Excelが「レディモード」にないためかもしれませんか? 'Application.OnTime、LatestTimeパラメータ'の詳細。 – dee
レディモードを理解していません。これに基づいて、私はどのように私の問題を解決するだろうか?私は準備モードに設定する方法を説明する "レディモード"について何も見つけることができません...他のタイマーを止めることができるようです..なぜ私のエクセルが "レディモード"にならないのか分かりません。 – Behedwin