gpt4 book ai didi

VBA Excel 将多个形状复制到剪贴板

转载 作者:行者123 更新时间:2023-12-02 19:21:26 25 4
gpt4 key购买 nike

我有一个 Excel 工作表,其中包含四个形状和几个用于运行宏的按钮。这些形状被命名为 topCircle、leftCircle、rightCircle 和 midCircle。

希望其中一个按钮运行一个宏,将四个形状复制到剪贴板,以便粘贴到其他 Office 文档中。

浏览过各种 MSDN 文章(如 https://msdn.microsoft.com/en-us/library/office/ff940375.aspx )但遇到了麻烦。为了模仿链接文章中的示例,我写了这样的内容:

Set myDocument = Worksheets("Overall")

myDocument.Shapes.Range(Array("leftCircle", "rightCircle", "topCircle", "midCircle")).Copy

但是收到错误“对象不支持此属性或方法”。还尝试了一些其他的事情但没有运气。关于如何让它发挥作用有什么想法吗?干杯!

最佳答案

要从 Excel 工作表复制多个形状,您有 3 个选项:

选项 1:首先使用 Select 选择所有 Shapes,然后复制 Selection:

myDocument.Shapes.Range(Array("leftCircle", "rightCircle", "topCircle", "midCircle")).Select
Selection.Copy

选项 2:使用Group对所有选定的形状进行分组,然后将它们复制在一起,然后使用Ungroup将它们拆分回来:

With myDocument.Shapes.Range(Array("leftCircle", "rightCircle", "topCircle", "midCircle"))
.Group.Copy
' paste to wherever you want

.Ungroup
End With

选项 3:使用 For Each MyShape In myDocument.Shapes 循环遍历 myDocument 工作表中的所有 Shapes ,如果它符合您想要的 Shape.Name 之一,请复制它:

Dim MyShape     As Shape

For Each MyShape In myDocument.Shapes
Select Case MyShape.Name
Case "leftCircle", "rightCircle", "topCircle", "midCircle"
MyShape.Copy
' paste to wherever you want

End Select
Next MyShape

关于VBA Excel 将多个形状复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com