excel - 使用 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
推荐阅读
- c - 简单测试程序中无法解释的 malloc 调用:malloc 项目
- c# - 某些属性的 GetPropertyInfo 失败
- docker - Docker BaseX DBA
- javascript - Flask - 获取要下载为 csv 的数据框
- php - 优化 Laravel 查询
- macos - 软符号链接 mac 权限被拒绝
- azure-devops - 使用 Linux 管道中的 $(Build.BuildId) 更新链接变量组中的变量
- postgresql - 是否可以在不进行两次转换的情况下获得作为 JSON 对象字段的 JSON 对象字段?
- javascript - 使用逻辑 OR 时防止 0 的值评估为 false
- python - 如何从表中的记录中返回特定列表?