我正在尝试遍历特定工作表中的图表并将它们移动到所有工作表末尾的新图表工作表中。此外,我想重命名图表工作表并更改选项卡颜色。
这是我的代码:
Dim ws As Worksheet, co As ChartObject, c As Chart
Set ws = ThisWorkbook.Sheets("nameofSheet")
ws.Activate
For Each co In ws.ChartObjects
co.Activate
Set c = co.Chart
'move chart to new sheet at the end
c.Move After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
'rename chart sheet
c.Name = "newChartSheetName"
'change colour
c.Tab.Color = RGB(1,1,1)
Next co
但是,它不起作用并抛出错误:Run-time error '1004': Method 'Move' of object '_Chart' failed
我进行了广泛的搜索,但找不到任何问题的答案。我曾尝试直接使用co(ChartObject
),但这不起作用。我已经读过你在做某事之前应该.Activate
一个对象,但它也不起作用。
答案 0 :(得分:2)
对于嵌入式图表,您需要先转换为图表:
intent.addFlags(
Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION |
Intent.FLAG_GRANT_READ_URI_PERMISSION |
Intent.FLAG_GRANT_WRITE_URI_PERMISSION);