我正在尝试使用 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 属性。为什么以及有没有办法解决这个问题?
奇怪的是,在 Chart 菜单中手动执行此操作 --> |Source Data... 工作得非常好。实际上,如果您在手动执行此操作的同时录制宏,结果如下:
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(4).XValues = "=Sheet2!R4C31:R32003C31"
ActiveChart.SeriesCollection(4).Values = "=Sheet2!R4C32:R32003C32"
但是当重新播放此宏时,Excel 会出错!
手动执行此操作不是一个令人愉快的前景。我想我可以在单元格中粘贴虚假数据,创建系列,然后删除虚假数据。我真的必须拉这样的诱饵并打开Excel吗?