gpt4 book ai didi

excel - 使用 VBA 循环遍历工作簿中的所有图表

转载 作者:行者123 更新时间:2023-12-02 09:18:01 26 4
gpt4 key购买 nike

我正在尝试循环遍历工作簿中的所有图表。为什么选项 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

最佳答案

图表有两种风格:

  1. “大”图表 - 整个图表表
  2. “小”图表 - 嵌入工作表中的图表对象

这段代码:

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 列表中的图表。

关于excel - 使用 VBA 循环遍历工作簿中的所有图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36955925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com