我想将数据添加到一堆现有图表。假设每个图表具有不同数量的数据序列,并且原始数据的位置在同一工作簿中的某处。这里是我开始用:Excel VBA - 获取图表数据范围
For iChart = 1 To iCount
ActiveSheet.ChartObjects("Chart " & iChart).Activate
intSeries = 1
Do Until ActiveChart.SeriesCollection(intSeries).Name = ""
Set rXVal = ActiveChart.SeriesCollection(intSeries).XValues '<- Object Required error
Set rXVal = Range(rXVal, rXVal.End(xlDown))
Set rYVal = ActiveChart.SeriesCollection(intSeries).Values
Set rYVal = Range(rYVal, rYVal.End(xlDown))
ActiveChart.SeriesCollection(intSeries).XValues = rXVal
ActiveChart.SeriesCollection(intSeries).Values = rYVal
intSeries = intSeries + 1
Loop
Next iChart
我知道ActiveChart...XValues = rXVal
的作品,但我对Set rXVal = ActiveChart....XValues
线得到“对象需要”错误。我假设,自从一个范围进入定义数据系列后,我可以再次将该范围返回并添加到该范围。
UPDATE
为了澄清事情的话,我有8个地方和FFT软件安装加速度计来记录4个单独的频段峰值振动响应。这样每个样本产生32个数据点。在导出时,软件会分出4张Excel工作簿;每个频段一个。每张表都有加速度计名称,样本数量也在减少。
'Values'和'XValues'(尽管您可以将它们设置为一个范围,*返回*一个变体数组)请尝试寻求帮助http://j-walk.com/ss/excel/tips/tip83.htm – 2015-02-05 23:57:45
您可以尝试声明一个Series类型的变量,然后从诸如.ForumlaR1C1之类的属性中解析出范围地址。例如:Dim s As Series: Set s = ActiveChart.SeriesCollection(1): Debug.Print s.FormulaR1C1 – Mike 2015-02-06 04:56:16