2013-02-21 39 views
2

我創建擅長:獲取當前圖表的指標

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

無效

我在做什麼錯?

回答

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 
+0

我想你的代碼設置'Sheet1'一個變量的增強:' Dim ws As Worksheet Set ws = Sheets(「DatenFilledChart」) ShapeRef = ws.Shapes.AddChart()'但失敗,錯誤91:變量未定義。 – 2013-02-22 07:30:13

+0

確保您已經聲明瞭'ShapeRef',並在分配它時使用'Set'。 – 2013-02-22 15:22:48

2

指數的屬性ChartObject類。

圖表是ChartObject類的成員。

因此,當您使用圖表對象,你必須去升一級的層次結構如下所示:

indexOfChart = ActiveChart.Parent.Index