【问题标题】:VBA: Paste chart with a different nameVBA:粘贴具有不同名称的图表
【发布时间】:2013-06-18 12:37:25
【问题描述】:

我使用 VBA 复制和粘贴图表。

    ActiveSheet.ChartObjects("Chart1").Activate
    ActiveChart.ChartArea.Copy

    ActiveSheet.PasteSpecial Format:="Microsoft Office Drawing Object", Link:= _
        False, DisplayAsIcon:=False

问题是我最终有两个同名的图表 ("Chart1"),当我尝试重命名它们时:

'ActiveSheet.Shapes("Chart1").Name = CHART_NAME

他们都被重命名了。

如何粘贴不同名称的图表。

【问题讨论】:

  • 您能否将粘贴直接链接到图表对象或形状对象并通过其属性操作该对象名称,而不是引用 activesheet.shapes("name").name?
  • @K_B 你能给出一个代码示例作为答案吗?
  • 奇怪的是你得到了 2 个同名对象,这看起来违反了对象具有唯一名称的规则......你是否尝试过 Paste 而不是 PasteSpecial 并查看第二个对象是否现在有不同的名字了吗?
  • @K_B 是的,同样的行为,在我看来并不违反,对象可以有一个同名的字段名称,而不是同一个对象或同名

标签: excel vba charts excel-2010 copy-paste


【解决方案1】:

那么使用 Duplicate() 怎么样?

Dim source As ChartObject
Set source = ActiveSheet.ChartObjects("Chart1")

Dim newChart As Object
Set newChart = source.Duplicate
newChart.Name = "newChartName"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多