人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCELのグラフをリアルタイムに描く方法を教えてください。
例)セル'A1'の数値は1秒毎に更新される。これを線グラフで時系列で描く。

このようなことができるのでしょうか?そのようなアドオンがあるのでしょうか?

よろしくお願いします。

●質問者: mai_mai_mail
●カテゴリ:コンピュータ
✍キーワード:A1 Excel アドオン グラフ セル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● たか
●60ポイント

1秒毎に更新されるA1セルを別セルに移す方法はどうでしょうか?

・A1セルに値が入る

・C1セルにA1セルの値を移す

・B1セルに時間データ

・1秒後A1セル更新

・C2セルにA1セルの値を移す

・B2セルに時間データ

これを繰り返し処理させる。

そしてグラフは先にB1:C1000までの折れ線を作っておく。


 Cells(x, 2) = Time() 'B列に時間データの入力
 Cells(x, 3) = Cells(1, 1) 'A1セルをC列に移す

1秒毎にA1セルが更新される・・という処理がどういう風になっているのかわかりませんが、マクロであれば上のコードを追加してもらえれば可能かと。

http://q.hatena.ne.jp/

◎質問者からの返答

takashi_m17さん、

返答ありがとうございます。勉強になります。

教えてもらった方法でためしてみました。結果はすこし、やりたいことに近づいたようです。もうすこし、教えてください。

セルの値を移すことはできました。教えてもらったように1秒後に移すようにコーディングしました。

If Application.Wait(Now + TimeValue("0:00:01")) Then

Cells(x, 3) = Cells(1, 1)

End If

これもうまくいきました。今回、写し元のデータ(例ではA1セル)はDDEによってデータを更新しています。上記のApplication.Waitを実施するとDDEの更新がとまってしまいます。結果、1秒後のデータも同じ物となってしまいます。DDEのデータ更新はランダムに発生します。

どのようにしたらDDEのデータ更新に影響を与えず、マクロを実行することができるでしょうか?

教えてください。

追伸:Sleepを使ってもLockしているようでした。


2 ● mj99
●10ポイント

>上記のApplication.Waitを実施するとDDEの更新がとまってしまいます。結果、1秒後のデータも同じ物となってしまいます。DDEのデータ更新はランダムに発生します。

>どのようにしたらDDEのデータ更新に影響を与えず、マクロを実行することができるでしょうか?

>教えてください。


XL2000: マクロを繰り返し固定時間間隔で呼び出す方法

Application.OnTimeを使ってみてはどうでしょうか。

標準モジュールを追加して、下記のコードを記述してください

Option Explicit
 
Private nCurrentRow As Integer
Private fContinue As Boolean

Public Sub StartTimerProc()
 nCurrentRow = 2 ' 記録開始位置
 fContinue = True
 Call TimerProc
End Sub

Public Sub StopTimerProc()
 fContinue = False
End Sub

Private Sub TimerProc()
 Dim nextTime As Date
 
 With Sheets(1)
 Cells(nCurrentRow, 2) = Now()
 Cells(nCurrentRow, 3) = Cells(1, 1)
 End With
 
 If fContinue Then
 nCurrentRow = nCurrentRow + 1
 nextTime = Now() + TimeValue("00:00:01")
 Application.OnTime nextTime, "TimerProc"
 End If
 
 End Sub


----

記録を開始するときは、マクロの実行で「StartTimerProc」

記録を停止するときは、マクロの実行で「StopTimerProc」

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ