将embedded的图表移动到新的图表并重命名工作表
我试图循环遍历特定工作表中的图表,并将它们移到所有工作表末尾的新图表工作表中。 另外,我想重命名图表并更改标签颜色。
这是我的代码:
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
我已经广泛search,但无法find任何答案这个问题。 我试过直接使用co( ChartObject
),但是没有奏效。 我已经读过,你应该在做某事之前.Activate
一个对象,但是它也行不通。
对于embedded式图表,首先需要转换为图表:
Set c = c.Location(where:=xlLocationAsNewSheet, "newChartSheetName") c.Move After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)