[英]Loop through all charts in a workbook with VBA
我正在嘗試遍歷工作簿中的所有圖表。 為什么選項 1 有效,而選項 2 無效?
'選項1
For Each sht In ActiveWorkbook.Worksheets
For Each cht In sht.ChartObjects
MsgBox (cht.Name)
Next cht
Next sht
'選項 2
Dim oChart As Chart
For Each oChart In Application.Charts
MsgBox (oChart.Name)
Next oChart
End Sub
有兩種風格的圖表:
這段代碼:
Sub dural()
Dim oChart As Chart
For Each oChart In Application.Charts
MsgBox oChart.Parent.Name & vbCrLf & oChart.Name
Next oChart
End Sub
將顯示有關“大”品種的信息。
如果您想了解有關“小”圖表的信息:
Sub dural2()
Dim sh As Worksheet, i As Long
For Each sh In Worksheets
If sh.ChartObjects.Count > 0 Then
For i = 1 To sh.ChartObjects.Count
MsgBox sh.ChartObjects(i).Chart.Name
Next i
End If
Next sh
End Sub
請注意,我們需要一個顯式的If
語句來處理沒有圖表的工作表,並且.Chart
用於訪問每個 ChartObjects 列表中的圖表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.