dポイントプレゼントキャンペーン実施中!

エクセルでRSSよりリアルタイムに取得した(株価)を表示させています。
それを自動で5分ごとに自動でデータ蓄積させる方法はありませんか?

4行目のA列からCU列の50列ほどにデータをリアルタイムで取得しています。

その4行すべてを5分後に5行目にコピー
       10分後に6行目にコピー
   15分後に7行目にと連続して保存したいと思います。

終了は5時間後です。

   A列 B列 C列 D列 E列・・・CU列
-------------------------------------------
4行 10  5  30  40  50 ・・・ 80
--------------------------------------------
5行    5分後
6行   10分後
7行   15分後
: :
: :

いろいろなサイトで探して悪戦苦闘してるのですが、どれもうまくできずにいます。
VBA初心者です。

上記のような場合は、どのようにコードを書いたらいいでしょうか。
ご教示いただければありがたいです。
よろしくお願いいたします。

A 回答 (3件)

失礼しました。


Application.OnTime Now + TimeValue("00:00:15"), "Tset"
では15秒間隔ですね。
Application.OnTime Now + TimeValue("00:05:00"), "Tset"
でお確かめ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

勉強不足な質問に丁寧に対応して頂き感謝です。

ありがとうございました。

お礼日時:2015/08/24 09:52

NO1です。


仮に
Sub Test()

Range("A4").Select
Dim 最終行 As Long

最終行 = Range("A4").End(xlDown).Row
Rows(4).copy
Rows(最終行).Insert

Range("A1").Select
Selection.ClearContents
End Sub

と、Subの後ろに Test と云う名前で記述してあるとします。

Sub 5分後に実行()
Application.OnTime Now + TimeValue("00:00:15"), "Tset"
End Sub

を実行すると、5分後に Testが実行されます。

Sub Test()

Range("A4").Select
Dim 最終行 As Long

最終行 = Range("A4").End(xlDown).Row
Rows(4).copy
Rows(最終行).Insert

Range("A1").Select
Selection.ClearContents

Application.OnTime Now + TimeValue("00:00:15"), "Tset"

End Sub
と最後に記述しても構いません。
エクセルを終了するまで、Test が5分間隔で実行されます。
    • good
    • 0

>エクセルでRSSよりリアルタイムに取得した(株価)を表示させています。


この部分は出来ているのでしょうか。
>その4行すべてを5分後に5行目にコピー
の部分ですがOnTiomeを使います。
http://www.officetanaka.net/excel/vba/tips/tips1 …
とか
https://msdn.microsoft.com/ja-jp/library/office/ …


にある
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

あたりが参考になると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

下記コードで取得はできています。


Range("A4").Select
Dim 最終行 As Long

最終行 = Range("A4").End(xlDown).Row
Rows(4).copy
Rows(最終行).Insert

Range("A1").Select
Selection.ClearContents


ご回答いただいたサイトも参照しておりますが、
OnTimeの"my_Procedure"のプロシージャの意味が理解できずにいます。

お手数ですが、再度ご回答いただけるとありがたいです。

よろしくお願いいたします。

お礼日時:2015/08/22 13:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!