2013-02-27 88 views
2

我用下面在我的Excel儀表板聲明:Excel的VBA兼容性問題

HeaderTableSheet.ChartObjects("Header_BreakEvenAnalysis").Copy 

它工作得很好,每次上的Excel 2007,但給錯誤「應用程序定義或對象定義的錯誤」,在Excel中 -2010(這也不是每次)

我不能找出原因。

對於同樣的任何解決方案/解決辦法嗎?

+1

你有沒有注意到,2007年是一個在2003年到2010年之間的事件製造商。也就是說,走向2007年,對象模型發生了變化,事實上它錯過了很多(特別是在Charting對象類中)。那麼在這裏使用「宏」? – bonCodigo 2013-02-27 08:33:45

+0

@bonCodigo:是的,我在這裏使用宏。任何解決方法,你可以建議? – Tejas 2013-02-27 10:53:08

回答

0

你可以試試嗎?

Option Explicit 

Sub yourSUB() 
Dim myChart As ChartObject 

'--- other codes 

    For Each myChart In Sheets("SheetName").ChartObjects 
     If myChart.Name = "Header_BreakEvenAnalysis" Then 
     myChart.Copy 
     End If 
    Next myChart 

'---other codes 
'---release the memory and clean up 
Set myChart = Nothing 
End Sub 
+0

謝謝!我會在到家後立即嘗試。 – Tejas 2013-02-27 10:55:17

+0

謝謝你的嘗試,但它沒有奏效。我發佈了我在這裏找到的答案。 – Tejas 2013-02-27 20:44:20

1

的表需要複製的圖表(這是需要在Excel 2010只)

所以下面的代碼工作之前被激活:

HeaderTableSheet.Activate 
HeaderTableSheet.ChartObjects("Header_BreakEvenAnalysis").Copy