【发布时间】:2015-02-05 22:20:44
【问题描述】:
我想将数据添加到一堆现有图表中。假设每个图表都有不同数量的数据系列,并且原始数据的位置在同一个工作簿中的某个位置。这是我要开始的内容:
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 行上收到“需要对象”错误。我假设自从一个范围进入定义数据系列后,我可以再次取出该范围,然后添加到它。
更新
为了澄清一点,我在 8 个地方安装了加速度计,并设置了 FFT 软件来记录 4 个单独频带中的峰值振动响应。每个样本产生 32 个数据点。导出时,软件吐出4张Excel工作簿;每个频段一个。每张表都有加速度计名称和样本编号。
【问题讨论】:
-
Values和XValues(虽然您可以将它们设置为一个范围,返回一个变体数组)尝试在这里寻求帮助j-walk.com/ss/excel/tips/tip83.htm -
您可以尝试声明一个系列类型的变量,然后从 .ForumlaR1C1 等属性中解析出范围地址。例如: Dim s As Series: Set s = ActiveChart.SeriesCollection(1): Debug.Print s.FormulaR1C1
标签: excel vba object charts excel-charts