Excel VBA質問箱 IV

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

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


7118 / 13644 ツリー ←次へ | 前へ→

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

【41095】ブックを閉じたらマクロを終了させたい。
質問  こまったチャン  - 06/7/29(土) 10:34 -

引用なし
パスワード
   こんにちは!
早速ですが困っています。
VBA超初心者ですがこちらの過去ログを参考にして無謀にも下記のマクロを作成したのですがブックを閉じても時間が来ると自動的にブックを開いてマクロが実行してしまいます。(ハァー、マクロは凄い!と思うんですけど)
ブックを閉じたらこのtestマクロを終了するようにするにはどうしたらいいでしょうか?何卒よろしくお願い申し上げます。

Sub test()

Dim n As Integer
Dim k As Integer

For n = 10 To 23
For k = 0 To 59 Step 2


Application.OnTime TimeValue(CStr(n) & ":" & CStr(k) & ":00"), "Macro"

Next k
Next n


End Sub

Sub Macro()

MsgBox "2分経過"

End Sub

【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

【41108】Re:ブックを閉じたらマクロを終了させた...
お礼  こまったチャン  - 06/7/30(日) 11:23 -

引用なし
パスワード
   早速のレスありがとうございました。
私は超初心者ですのでコードの意味はあまり理解出来ませんがコードを丸写しにしてやってみたらうまくいきました。
これからもっと勉強してコードを理解出来るようにがんばります。

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