以下のコードのように、VBAを使用してチャートに多くのシリーズを追加しようとしています。
For i = 0 To 9
Set serNew = chtMap.SeriesCollection.NewSeries
With serNew
.XValues = Range("Y4").Cells(1, 1 + 2 * i).Resize(32000, 1)
.Values = Range("Y4").Cells(1, 2 + 2 * i).Resize(32000, 1)
End With
Next i
一部のシリーズの範囲には、セルにまだデータがありません。ユーザーは後でこのデータを書き込み/ロードします。アイデアは、チャートを準備することです。
問題:ループがそのようなまだ空の範囲に達すると、エラー1004が発生します:SeriesクラスのXValuesプロパティを設定できません。なぜ、これを回避する方法はありますか?
奇妙なことに、これを[グラフ]メニュー->|[ソースデータ...]で手動で行うと完全に正常に機能します。実際、これを手動で実行しながらマクロを記録すると、結果は次のようになります。
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(4).XValues = "=Sheet2!R4C31:R32003C31"
ActiveChart.SeriesCollection(4).Values = "=Sheet2!R4C32:R32003C32"
しかし、このマクロを再生すると、Excelでエラーが発生します。
これを手動で行うことは、良い見通しではありません。偽のデータをセルに貼り付け、シリーズを作成してから、偽のデータを削除できると思います。私は本当にそのようなおとり商法を引っ張ってExcelをオンにする必要がありますか?