| 
    
     |  | ▼青木w さん: おはようございます。
 新規ブックにて試してください。
 
 >常に変動しているA1からJ1の10個の数値を、K1からT1に記録する方法
 >最新のA1:J1の数値をK1:T1に書き込み、
 >古い分は2行目3行目〜と順次下に押しやられるようにして
 
 この部分だけのコードは・・・、
 
 標準モジュール(Module1)に、
 
 '===========================================================
 Sub セルK1_T1を行下げしてセルA1_J1を代入する()
 Dim rng As Range
 Set rng = Range("a1:j1")
 With Range("K1:T1")
 .Insert Shift:=xlDown
 .Offset(-1, 0).Value = rng.Value
 End With
 Set rng = Nothing
 End Sub
 
 後は、これを繰り返すコード。
 
 別の標準モジュール(Module2)にスケジュール管理プロシジャー群
 
 '===========================================================
 Private exetm As Variant '次の実行時刻
 Private lmcnt As Long '繰り返し回数
 Private ccnt As Long  '現在の実行回数
 Private reptm As Variant '実行間隔時間
 Private prcnm As String '実行プロシジャー名
 Sub mc_schedule(ByVal on_off As Boolean, _
 Optional ByVal limit_cnt As Long = 0, _
 Optional ByVal rep_time As Variant, _
 Optional ByVal proc_name As String, _
 Optional ByVal F_Exetm As Variant)
 'マクロ実行のスケジュールの設定を行う
 'input : on_off --- true スケジュール設定 false---スケジュール解除
 '    limit_cnt 実行を繰り返す回数 -1の場合は、制限なく繰り返す
 '    rep_time  実行間隔時間
 '    proc_name 実行するプロシジャー名
 '    F_Exetm  初回実行時間 省略すると、現在の時刻+実行間隔時間
 On Error Resume Next
 If on_off = True Then
 reptm = rep_time
 If limit_cnt <> -1 Then
 lmcnt = limit_cnt
 ccnt = 0
 End If
 If IsMissing(F_Exetm) Then
 exetm = Now() + reptm
 Else
 exetm = F_Exetm
 End If
 prcnm = proc_name
 
 End If
 Application.OnTime EarliestTime:=exetm, Procedure:="mc_exec", Schedule:=on_off
 On Error GoTo 0
 End Sub
 '===========================================================
 Sub mc_exec()
 'スケジュール設定されたプロシジャーを実行する
 Dim wk As Variant
 wk = Application.Run(prcnm)
 ccnt = ccnt + 1
 If lmcnt = 0 Or ccnt < lmcnt Then
 Call mc_schedule(True, -1, reptm, prcnm)
 End If
 End Sub
 
 
 最後に別の標準モジュール(Module3)に繰り返し処理スタートプログラムと
 途中終了プログラム
 
 '==============================================================
 Sub repeat_proc()
 Call mc_schedule(True, 1440, TimeValue("00:01:00"), "セルK1_T1を行下げしてセルA1_J1を代入する")
 End Sub
 '=================================================================
 Sub subproc()
 '解除
 Call mc_schedule(False)
 End Sub
 
 
 以上です。これでrepeat_proc を実行してください。
 
 1分毎に「セルK1_T1を行下げしてセルA1_J1を代入する」を実行します。
 繰り返し回数の1440は、1440回=60分×24h  です。
 
 又、途中で繰り返しを終わらせる場合は、subprocを実行してください。
 
 |  |