Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


40730 / 76736 ←次へ | 前へ→

【41098】Re:ブックを閉じたらマクロを終了させたい。
回答  [名前なし]  - 06/7/29(土) 12:56 -

引用なし
パスワード
   最初に一度にOnTimeの設定をしないで、実行するマクロの中で
次の時刻の設定をするようにすれば、最後に設定した時刻の
分だけ解除すればいいので簡単になると思うのですが。

下記のOnTimeStopマクロをBookのBeforeCloseイベントで呼び出せば
よいでしょう。


Option Explicit
Const Interval = "00:02:00"
Dim NextTime As Single

'-- OnTime開始 --
Sub OnTimeStart()
  With WorksheetFunction
    NextTime = .Max(TimeValue("10:00:00"), .Ceiling(Time, TimeValue(Interval)))
  End With
  If Format(NextTime, "hh:nn:ss") = Format(Time, "hh:nn:ss") Then
    NextTime = NextTime + TimeValue(Interval)
  End If
  Application.OnTime EarliestTime:=NextTime, Procedure:="Macro"
End Sub

'-- OnTimeで実行されるマクロ --
Sub Macro()

  NextTime = NextTime + TimeValue(Interval)
  Application.OnTime EarliestTime:=NextTime, Procedure:="Macro"

  MsgBox "2分経過", , Format(Time, "hh:nn:ss")
End Sub

'-- OnTime停止 ---
Sub OnTimeStop()
  On Error Resume Next
  Application.OnTime EarliestTime:=NextTime, Procedure:="Macro", Schedule:=False
  On Error GoTo 0
End Sub
1 hits

【41095】ブックを閉じたらマクロを終了させたい。 こまったチャン 06/7/29(土) 10:34 質問
【41098】Re:ブックを閉じたらマクロを終了させたい。 [名前なし] 06/7/29(土) 12:56 回答
【41108】Re:ブックを閉じたらマクロを終了させた... こまったチャン 06/7/30(日) 11:23 お礼

40730 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free