2015-08-19 82 views
0

我試圖循環遍歷在我的工作簿中生成的所有圖表,這些圖表在第二張紙上存在於第二張到最後一張。我想遍歷所有圖表,複製圖表區域並將其粘貼到具有數據的最後一張紙上(只是一個常規電子表格)。VBA - 循環遍歷所有圖表並複製到一張工作表上

我看不到爲什麼下面的代碼不能正常工作,但最終運行時錯誤'438' - 對象不支持第一行(for循環)上的此屬性或方法。

任何想法爲什麼這不起作用?

Sub chartCopy() 

    For I = Sheets(2) To Sheets(ActiveWorkbook.Sheets.Count - 1) 

     ActiveChart.ChartArea.Copy 
     Sheets(Sheets.Count).Select 
     ActiveSheet.Paste 

    Next I 


End Sub 

回答

1

爲什麼它不工作很容易:您嘗試從Sheet(2)(這是對象)到Sheet的數量-1進行計數。當然這不會工作,因爲sheet(2)是一個對象。嘗試使用For I = 2 To Sheets(ActiveWorkbook.Sheets.Count - 1),該數字以2開頭。 即使您要使用表單數量,也可以使用起始頁的索引號,而不是表單本身。

+0

我明白了,我認爲我必須在某個地方編碼,它應該從一個表單開始循環,而不僅僅是一個數字。乾杯 – Gurdeep

相關問題