- ベストアンサー
1分間隔に記録、蓄積?
宜しくお願いします。 初心者です。 例なんですけど ボタンスタート (シート上にフォームコントロールボタンを作り) A10にあるデータを(呼びこみ?)(時計のような物と思ってください) B20のセルに1分間隔に下へ記録していく B20 1分たったら、A10データ(その時の)データ)を記録 B21 B20から1分たったら、B21に記録 B22 B21から1分たったら、B22に記録 ・ ・ ・ ボタンストップで一時停止。再スタートで「続き記録」 こんな感じのプログラムを作りたいんですけど。 宜しく、お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
んー、Excelのシート埋め込みVBマクロで、なぜ、Waitが欲しい プログラムを欲されているのかが判りませんが。 貴方が作るであればこのようなプログラムになると思います。 タイマーコントロールはシート埋め込みボタンであると使いにくい ので、APIコールで、Sleep関数を定義。 boolean : StopSwitch Private Sub Button1_Click StopSwitch = false long次書込行 = B20から垂直にデータの有無をチェックし、 空白セルの行番号を取得。 Do データの加工 Bのlong次書込行 にデータ書き込み。 Sleep(1000) if StopSwitch = true then ExitDo Loop End Sub Private Sub StopButton_Click If StopSwitch = false Then StopSwitch = true End Sub こういう感じだと思います。 あとは、Cells関数、Valueプロパティ。 更に、65535行などMaxRowの例外処理をつければOKですかね。
その他の回答 (2)
- blackleon
- ベストアンサー率57% (269/468)
http://fx.whilejam.com/ の中の 「リアルタイムレートから1分足作成(前編)」にリアルタイムレートを1秒~3秒ぐらいの間隔でデータとて記録するマクロのコードが紹介されています。 これを少し変えれば、ご希望の事も簡単にできると思います。
お礼
ご回答ありがとうございます。 なんとか、自分で出来ました。(かなり強引に「書く」というより、こじつけ、こじつけ、といった具合で) とりあえず、自分のやりたかったことが、できました。 ありがとう、ございました。
- imogasi
- ベストアンサー率27% (4737/17069)
>こんな感じのプログラムを作りたいんですけど 情報が本、WEBなどで少なくみつけにくいので、なかなか勉強も難しい。 もっとエクセルVBAの基礎的な部分も含め、時間をかけて勉強が必要だ。 相場に絡むもののようだが、証券会社や相場商品取り扱い業者が 造っているソフトが無いか調べるべきだ。 または篤志家がつくったソフトなど。 相場で設けようとするなら、それを購入するぐらいの元手をかけてもよいのではないか。
お礼
どうも、ありがとうございました。 なんとか、他の人が「書いた」物を2つ並べて、「入れ替え、取り換え」(強引に)完成しました。 人によって、いろんな「書き方」があるのですね。(勉強になりました) また、解らない事がありましたら、宜しくお願いします。 ありがとう、ございました。
補足
お早いご回答ありがとうございます。 申し訳ありません。 >(シート上にフォームコントロールボタンを作り) の表現が間違っていましたか? 開発タブの→挿入→フォームコントロール→ボタンでボタンが出来ますよね? そこに、マクロ名記入でスタートのプログラムを入れる ストップのプログラムを入れると言う事なんですが すいません、初心者でよく分かって無いもので 申し訳ありませんが、構文やプログラムの構成がまだよく分かって無いもので、始めから書いていただけると有り難いのですが。(すいません) 私がやりたい事として 証券会社などのツールに付いてるDDE(機能?)の関数(='MT4'|ASK!USDJPY RSS|'0000'現在値 などをセルに入れて使う物(リアルタイムに変化))を利用したもので A10に DDEの関数を入れて1分や5分間隔で記録していきたいんですけど。 もし、大変ならボタンの所は無くてもいいです。 サイトで見つけたプログラムにボタンが付いていて、それを、見比べながら、いろいろ調べているのですが。 VBの実行→中断→実行した時は、B20から貯めたデータの所が 始からになるんですか? 続きで記録していくんですか? その辺の仕組みも全然分かって無いんですけど(すいません) どなたかご存じの方、お手数ですが、お願いします。