我使用
创建一个新图表Sheets("DatenFilledChart").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlArea
ActiveChart.SetSourceData Source:=Range("DatenFilledChart!$B$4:$B$1004")
ActiveChart.SeriesCollection(1).XValues = "=DatenFilledChart!$A$4:$A$1004"
ActiveChart.SeriesCollection(1).Name = "=DatenFilledChart!$B$1"
为了使用当前图表,我想用
保存索引indexOfChart = ActiveChart.Index
然而
失败了方法索引对于对象_Chart
无效
我做错了什么?
答案 0 :(得分:3)
尝试使用它:
indexOfChart = Shapes.Count
而不是
indexOfChart = ActiveChart.Index
Index
属性不适用于图表集合:
索引属性
标签集合或页面对象中标签对象的位置 在页面集合中。
了解详情:http://msdn.microsoft.com/en-us/library/office/ff194426.aspx
答案 1 :(得分:2)
Index是ChartObject类的属性。
Chart是ChartObject类的成员。
因此,当你使用Chart对象时,你必须像heirarchy一样升级:
indexOfChart = ActiveChart.Parent.Index
答案 2 :(得分:1)
由于AddChart
返回对添加对象的引用,最简单的方法就是使用该引用...
Sub tester()
Dim co As Shape
Set co = Sheet1.Shapes.AddChart()
With co.Chart
.ChartType = xlArea
.SetSourceData Source:=Range("Sheet1!$A$1:$B$5")
.SeriesCollection(1).Name = "Testing"
'etc etc
End With
End Sub