我有一个工作表图表,我想用作宏中的模板。我正在尝试复制工作表并将其分配给图表类型的对象,但无法使其正常工作。
代码下面是两行工作代码,用于创建或复制图表。
问题出在代码的最后一行。它会复制工作表,但是在进入下一行之前会出错(需要错误424对象)。
谁能解释为什么会这样,以及将工作表分配到一行的解决方案。
现在,我的解决方案是复制模板,然后将WS_chart3设置为活动表,如果可以避免的话,我只是不喜欢对活动表的引用。
Sub test()
Dim WS_chart2 As Chart
Dim WS_chart3 As Chart
'adds chart sheet but doesn't use a template
Set WS_chart2 = Charts.Add(After:=Sheets(Sheets.Count))
'adds sheet but doesn't asign in to variable WS_chart2
Sheets("template").Copy After:=Sheets(Sheets.Count)
'adds chart sheet but then errors out
Set WS_chart3 = Sheets("template").Copy(After:=Sheets(Sheets.Count))
End Sub
template.Copy After:=Sheets(Sheets.Count)
Set WS_chart = ActiveSheet
这样做的好处是不依赖活动表。请稍等一下,看看是否有其他建议。