我正在尝试遍历工作簿中的所有图表。
为什么选项 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
关于excel - 使用 VBA 遍历工作簿中的所有图表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36955925/