#1-2のmerlionXXです。
先ほどはあまり考えずに回答してしまいました。
あのままでは、一旦「停止」を作動させたら、再度「開始」しても動きません。そのエクセルファイルを終了させれば、また「開始」は有効になりますがそれでは不便ですよね。
修正しました。これなら何度でも停止、開始が有効です。
Dim buf As Boolean '←標準モジュールの一番上にこれを忘れずに
Sub 更新()
If buf Then Exit Sub
Calculate
Application.OnTime Now + TimeValue("00:03:00"), "更新"
End Sub
Sub 開始()
buf = False
Call 更新
End Sub
Sub 停止()
buf = True
End Sub
Application.OntimeValue?!
なんか変ですね。そのマクロほんとに動いてるんですか?それとも書き間違いじゃないですか?
で、3分ごとにCalculateで計算させてるってことは。計算は手動に設定してあるということですね?
ならこんなのはどうでしょう。
Dim buf As Boolean '←標準モジュールの一番上にこれを忘れずに
Sub 更新()
Calculate
MsgBox buf
Application.OnTime Now + TimeValue("00:03:00"), "開始"
End Sub
Sub 開始()
If buf Then Exit Sub
Call 更新
End Sub
Sub 停止()
buf = True
End Sub
お礼
確認とれましたありがとうございます。 更新用のコードも1行でいいんですね。 すばやい回答ありがとうございます。
補足
>Application.OntimeValue?! なんか変ですね。そのマクロほんとに動いてるんですか?それとも書き間違いじゃないですか? すみません書き間違いでした。 Application.OnTime TimeValue(”00:00:00”), ”Macro1" が正しい表記でした。 回答ありがとうございます。 すぐ実機確認できないのですが、試してみます。