根据单元格内容复制粘贴图表的宏

乔纳森·加里比(Jonathan Gariepy)

初学者宏观主义者在这里有问题!我试图通过一个下拉菜单来控制工作表上显示的图表。

现在,我有一个带有类别(例如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,此时宏可以正常工作。保存并重新打开文件后,宏不再起作用(也许该信息很有用)。

卢卡斯·拉斐尔·皮安内贡达

好的,我想可以为您提供帮助:

请检查单元格EY38的格式。删除任何会引起错误的“或”。

其次,来自一个也开始记录宏的家伙的建议:

尽可能不要使用激活和选择。这很慢,很难分析并且容易出错。

这是一个代码示例,它与您的功能相同,但没有激活和选择。

Sub Change_Pay()
    Dim c As String
    Dim COdel As ChartObject
    Dim COcopy As ChartObject
    Dim sht As Worksheet
    c = Range("EY34").Value
    Set sht = Worksheets(1) ' worksheet object instead of activesheet

    Set COdel = sht.ChartObjects("payDisplay") ' Chartobject instead of activesheet.chartobjects("")
    Set COcopy = sht.ChartObjects(c)

    COdel.Delete
    COcopy.Copy Destination:=sht.Range("B34") ' No need to select and paste if you give it the destination
    COcopy.Parent.Name = "payDisplay"
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel宏搜索列D单元格1复制粘贴列B单元格7

使用空白中间单元格复制粘贴整行

复制粘贴的单元格每粘贴4个单元格就会更改列

根据单元格值查找行,然后根据找到的行值复制粘贴 - 未设置对象变量

宏,用于根据单元格值复制范围和粘贴

Excel VBA 宏可根据提取的单元格值循环、复制、粘贴、偏移

通过VBA复制粘贴图表时出错

VBA宏,用于复制和粘贴重复单元格中的单元格

当它们等于另一个电子表格时,使用宏复制粘贴单元格

宏:打开文件夹中的最新文件并复制粘贴到最后一个单元格下方

根据条件复制/粘贴单元格范围 x 次

根据单元格的值复制并粘贴一行

如何复制粘贴单元格值,如果单元格包含大于 0,则通过循环粘贴到另一个单元格

通过范围单元格进行复制粘贴:Excel VBA

如果单元格在 excel 中具有红色/绿色/黄色,则复制粘贴整行

在QTableWidget单元格PyQt5中的标签中复制粘贴文本

复制粘贴取决于两个区域中的单元格值

Microsoft Excel-在保留对单个单元格的引用的同时复制粘贴

使用 VBA 从两个不同的工作表复制粘贴单元格

在两个不同的工作簿之间的错误单元格区域中复制粘贴

由于合并的单元格,复制粘贴导致的错误范围

复制粘贴循环VBA-覆盖当前单元格

Libreoffice calc复制粘贴时的相对和绝对单元格引用

excel vba复制粘贴单元格而不引起用户注意

根据特定条件将特定单元格值从一个工作表复制粘贴到另一个工作表

如何根据单元格的内容运行宏

根据字体颜色复制和粘贴单元格,并根据相对位置粘贴值

复制粘贴范围的宏

根据单元格内容复制行并标识主值