有一个初学者宏编写者的问题需要解答!我正在尝试让下拉菜单控制显示在工作表上的图表。
现在,我有一个带有类别(例如 A、B 和 C)的下拉菜单。
在我的表格中某个地方,我为每个这些类别创建了一个图表(例如一个名为 payA、payB 和 payC 的图表)。
接下来,我有一个单元格,它引用连接词“pay”和下拉菜单字母以组成相应的图表名称。
我想让我的宏删除仪表板上的图表(称为 payDisplay),根据单元格复制相应的图表(在此示例中,连接将位于单元格 EY38 中),将其粘贴到适当的单元格(在此示例中为 B34,原来的 payDisplay 所在位置),然后将新图表重命名为 payDisplay。
Sub Change_Pay()
Dim c As String
c = Range("EY38").Value
ActiveSheet.ChartObjects("payDisplay").Delete
ActiveSheet.ChartObjects(c).Copy
ActiveSheet.Range("B34").Select
ActiveSheet.Paste
ActiveChart.Parent.Name = "payDisplay"
End Sub
我的宏在ActiveSheet.ChartObjects(c).Copy这一行总是崩溃。
每当我打开工作表时,就会出现错误,然后我会将图表粘贴到正确的位置并将其命名为payDisplay,在那时宏运行得非常好。但是,保存并重新打开文件后,宏就再也无法正常工作了(也许这些信息有用)。
="Pay"&A5
进行连接,这个公式在您的E38
中,并收到了PayB
,它起作用了。如下所述,您可能需要确保没有空格或其他格式问题导致问题。 - Darrell H