2015-02-10 99 views
0

我已經看到很多循環遍歷各個工作表的代碼,但是我試圖循環遍歷工作簿中各個工作表的圖表。我的代碼如下(你可以看到,我只是想保存圖表爲PDF文件):循環遍歷Excel工作簿中的圖表對象

Sub ExportAllCharts() 
Dim Current As Worksheet 

' Loop through all of the worksheets in the active workbook. 
For Each Current In Worksheets 

    If TypeName(Current) = "Chart" Then 
     objCht.ExportAsFixedFormat xlTypePDF, Filename:= _ 
       "c:/" & Current.Name, Quality:=xlQualityStandard, _ 
       IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False 
    End If 

Next 
End Sub 

不幸的是,當代碼循環工作簿中的所有工作表,由於某種原因,它被跳過圖表。是否有相當於Worksheets適用於Excel中的單個圖表?或者還有沒有想過的另一種方式呢?

謝謝! 大衛

+0

獨立圖表不是工作表,它們是圖表或簡單的圖表。這就是爲什麼@ tendim的答案有效。 – 2015-02-12 04:10:02

回答

1

我只是嘗試了快速測試與此代碼,並將其打印在Chart工作表:

Public Sub test() 
    Dim oChart As Chart 

    For Each oChart In ActiveWorkbook.Charts 
     Debug.Print oChart.Name 
    Next 
End Sub 

這應該做你所需要的。僅供參考,在Excel Visual Basic編輯器中,可以使用VBA對象瀏覽器View -> Object Browser或F11。

希望有所幫助。

+0

太棒了,正是我在找的,謝謝! – David 2015-02-13 12:29:33

+0

不是問題;總是樂於幫助! – tendim 2015-05-08 21:43:41