« 確実性を増した簡易メール送信 | トップページ | 時間帯で条件分岐 »

2010年8月10日 (火)

一定時間ごとに繰り返し実行する

一定時間ごとに繰り返し実行する方法は
いろいろあると思います。

OnTimeメソッドを使った方法を考えてみます。
OnTimeメソッドの使い方は

OnTime "実行したい時刻", "実行したいプロシージャの名前"

macro100810aは、
1秒ごとにA1セルに現在の時刻を入れていきます。
A60セルまで時刻を入れたら終了します。

コードはこちら

一定時間ごとに繰り返し実行するコード:

Sub macro100810a()
'一定間隔で実行する
'OnTimeメソッドを使う
   
    Range("A1").Insert shift:=xlDown
    Range("A1") = Format(Now(), "hh:mm:ss")
   
    If Range("A60") = "" Then
        '1秒後にmacro100810aを実行
        Application.OnTime Now() + TimeValue("00:00:01"), "macro100810a"
    Else
        Range("A1:A60").Clear
    End If
   
End Sub

実行中のシートの様子:

Vba20100810a

自分で自分を呼び出すところに
ちょっとパラドックスに陥りそうになります。

|

« 確実性を増した簡易メール送信 | トップページ | 時間帯で条件分岐 »

コメント

この 呼び出す application オンタイム

を 解除する仕方がどうしてもわかりません。

ご存知でしたらよろしくおねがいいたします。

投稿: luckyland | 2018年2月21日 (水) 07時52分

次の記事を参考にしてください。
"OnTimeでの設定を解除する"
※コメント欄ではリンク貼れないので上記で検索してください。

投稿: 管理人やむえむ | 2018年3月17日 (土) 14時31分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 一定時間ごとに繰り返し実行する:

« 確実性を増した簡易メール送信 | トップページ | 時間帯で条件分岐 »