使用Excel VBA,如何从工作簿中自动生成图表标题列表?



>我有一个Excel工作簿,里面装满了图表和不同工作表上的一些数据表。我希望在一张纸中创建所有图表标题的摘要。

我尝试了一些 VBA 编码,但唉,我无法完全调整代码以选择和复制图表标题而不是工作表名称。

Set objNewWorkbook = Excel.Application.Workbooks.Add
Set objNewWorksheet = objNewWorkbook.Sheets(1)
For i = 1 To ThisWorkbook.Sheets.Count
objNewWorksheet.Cells(i, 1) = i
objNewWorksheet.Cells(i, 2) = ThisWorkbook.Sheets(i).Name
Next i

我期待一个很好的图表标题列表。额外的好处是还要有工作表名称。

>您可以将i更改为从您想要的任何行开始并格式化/添加标题。 您正在使用工作表的集合和图表对象的集合。 您可以简单地循环访问。

Sub ChartList()
Dim objNewWorkbook As Workbook
Dim objNewWorksheet As Worksheet
Dim wks As Worksheet
Dim cht As ChartObject
Dim i As Long
Set objNewWorkbook = Excel.Application.Workbooks.Add
Set objNewWorksheet = objNewWorkbook.Sheets(1)
i = 1
For Each wks In ThisWorkbook.Worksheets
objNewWorksheet.Cells(i, 1) = wks.Index
objNewWorksheet.Cells(i, 2) = wks.Name
If wks.ChartObjects.Count > 0 Then
For Each cht In wks.ChartObjects
objNewWorksheet.Cells(i, 3) = cht.Chart.ChartTitle.Text
i = i + 1
Next cht
End If
i = i + 1
Next wks
End Sub

最新更新