次の方法で共有

Excel VBAのグラフ更新で実行エラーとなるのは何故?

Anonymous
2021-02-09T14:12:03+00:00

計測器から多チャンネルの温度データを一定間隔で取得しグラフを更新していくプログラムを作成中です。
しかし、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 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

3 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2021-02-11T19:22:09+00:00

    どうぞ宜しくお願い致します!

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2021-02-10T12:19:44+00:00

    場違いで失礼しました。

    そちらの方へ投稿致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2021-02-09T16:30:08+00:00

    こんにちは。

    同じユーザーとしてマイクロソフト製品のサポートを行う独立アドバイザーのYuki M.です。

    VBA専用のフォーラムがございますため、下記へご投稿してみてください。

    https://social.msdn.microsoft.com/Forums/ja-JP/...

    どうぞ宜しくお願い致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません