复制粘贴图表Excel VBA
我的VBA代码有问题 这是我用VBA编写的第一个代码。 基本上,我希望它检查一个条件(sheet2中单元格F7的值),并基于此,我想在sheet2中粘贴两个图表中的一个复制粘贴图表Excel VBA,excel,vba,charts,copy,paste,Excel,Vba,Charts,Copy,Paste,我的VBA代码有问题 这是我用VBA编写的第一个代码。 基本上,我希望它检查一个条件(sheet2中单元格F7的值),并基于此,我想在sheet2中粘贴两个图表中的一个 Private Sub CommandButton1_Click() CommandButton1.Caption = "Stock Size Range" CommandButton1.BackColor = 0 CommandButton1.ForeColor = 16777215 'Clear the cha
Private Sub CommandButton1_Click()
CommandButton1.Caption = "Stock Size Range"
CommandButton1.BackColor = 0
CommandButton1.ForeColor = 16777215
'Clear the chart area
Charts("Chart41").ChartArea.Clear
If Sheets("sheet2").Range("F7") = 1 Then 'Aluminum Material
Sheets("sheet3").ChartObjects("Chart666").Select
Sheets("sheet3").ChartObjects("Chart666").Copy
ChartObjects("Chart41").Paste
Else
Sheets("sheet4").ChartObjects("Chart888").Select
Sheets("sheet4").ChartObjects("Chart888").Copy
ChartObjects("Chart41").Paste
End If
End Sub
问题是,当我点击命令按钮时,它会给我一个运行时错误“9”:下标超出范围,它指向直线(Charts(“Chart41”).ChartArea.Clear)
谢谢,(很抱歉,我没有足够的声誉来写评论和询问更多信息,所以我会尽我所能!)
你好!
可能您需要转到要粘贴图表的所需工作表,创建一个图表,然后将一个ID与之关联,例如“MyNewChart”(您可以在“区域”中更改图表ID,该区域中的红色矩形中写着“节点5”)
然后在代码中,当需要粘贴图表时,可以编写:
Sheets("WriteSheetNameHere").ChartObjects("MyNewChart").Paste
HTH;)
ChartObjects(“Chart41”).Chart.ChartArea.Clear
谢谢,它说找不到具有指定名称的项目,我很确定我更改了名称。。“你觉得怎么样?”蒂姆·威廉姆斯说,“我设法让它起作用了。”。您能告诉我为什么我的原始代码不起作用吗?图表对象可以是图表工作表,或者如果它位于常规工作表上,它将包含在ChartObject
中-在工作表上,是ChartObject
有名称,而不是图表。还有一个问题,显然是行[Sheets”(“sheet1”)。ChartObjects(“图表41”)。图表。图表区域。清除]最后删除了整个图表,所以当代码想在图表41上粘贴另一个图表时,它找不到它,因为该行将其删除了!!@TimWilliams代码不再工作了,你能告诉我吗?@RCatanow这是什么行为?只在第一次工作,或者这是另一件事?也许最好的方法是删除现有图表(您的图表41),然后在粘贴前创建一个新图表,为其分配一个id,最后粘贴图表。每次需要执行宏时,都应执行此步骤