データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
どうぞ宜しくお願い致します!
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
計測器から多チャンネルの温度データを一定間隔で取得しグラフを更新していくプログラムを作成中です。
しかし、400回程度データ取得すると「実行エラー1004 アプリケーション定義またはオブジェクト定義のエラーです」が表示され止まってしまいます。止まる場所は"SetSourceData Source:="のところです。
ch数を半分にすると取得回数は倍程度になります。止まる回数は同じ場合もありますがそうでない時もあります。さらにエラー後、強制停止させた後でグラフのデータ範囲が手動で変更出来なくなります??エラーが発生する前に停止させた場合はデータ範囲は変更できます。 Excelの不具合?仕様上の制限でしょうか?原因がわかりません。
下記コードで現象が確認できます。他のパソコン2台で確認(Win10 Excel2016)しましたが同じ現象となりました。
下記プログラム実行する前にデータが入るシート名には「データ」としデータフォーマットはセルB1~BM1に64ch分のチェンネル名(系列名)を入力しておきます。セルA2以降は自動的に1,2,3...という数字が入ります。グラフシート名は「グラフ」とし予めデータ1回分の散布図を直線で作成しておきます。また結果を早く出すために待ち時間を設けていません。
どうかよろしくお願い致します。
Sub 不具合再現テスト64ch()
Dim mcnt As Long '測定カウント数
Dim ch As Long '測定チャンネル数
Dim MeasData(0, 64) '測定データ格納
For mcnt = 1 To 1000 '1000回分で動作の様子を見る(測定希望回数は2万回)
MeasData(0, 0) = mcnt '測定回数を入れる
For ch = 1 To 64 'チャンネル
MeasData(0, ch) = Int((20 * Rnd) + 10) '乱数データを適当に入れる
Next ch
With Worksheets("データ")
If ActiveSheet.Name = "データ" Then .Cells(1 + mcnt, 1).Activate 'データシートがアクティブ時にセルを動かす
.Range("A" & 1 + mcnt & ":BM" & 1 + mcnt).Value = MeasData() '1回測定データを一気に貼り付け
Charts("グラフ").SetSourceData Source:=.Range("A1:BM" & 1 + mcnt), PlotBy _
:=xlColumns 'グラフを更新 ←ココでエラー
End With
DoEvents
Next mcnt
End Sub
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
どうぞ宜しくお願い致します!
場違いで失礼しました。
そちらの方へ投稿致します。
こんにちは。
同じユーザーとしてマイクロソフト製品のサポートを行う独立アドバイザーのYuki M.です。
VBA専用のフォーラムがございますため、下記へご投稿してみてください。
https://social.msdn.microsoft.com/Forums/ja-JP/...
どうぞ宜しくお願い致します。