gpt4 book ai didi

Excel VBA : Copy and paste shapes at same position

转载 作者:行者123 更新时间:2023-12-04 19:47:39 25 4
gpt4 key购买 nike

我想从一个工作表复制所有形状并将它们粘贴到另一个工作表的相同位置。形状可以是矩形标注或图片。

到目前为止,我知道如何遍历旧工作表中的所有形状:

Dim s 为形状
对于 Activesheet.Shapes 中的每个 s
...
下一步

如何将形状复制并粘贴到另一个工作表中的相同位置,例如 Sheets("new")?

最佳答案

下面的代码应该可以让你开始。请注意,我在代码中使用了内部工作表名称。 (Sheet1Sheet2。Project Explorer 中括号前的名称)

我使用了一些变通方法来避免使用选择:您需要先设置形状的名称,因为如果它仍然具有标准名称(例如“Oval 3”),则名称会更改(“Oval 4 ”)。最后,您可以恢复两个工作表中形状的原始名称。

Sub CopyShapes()

Dim s As Shape
Dim OriginalName As String

For Each s In Sheet1.Shapes
OriginalName = s.Name
s.Name = "FixedName"
s.Copy
Sheet2.Paste
Sheet2.Shapes("FixedName").Top = s.Top
Sheet2.Shapes("FixedName").Left = s.Left
s.Name = OriginalName
Sheet2.Shapes("FixedName").Name = OriginalName
Next s

End Sub

编辑:根据注释中的要求调整代码以避免使用Selection.

关于Excel VBA : Copy and paste shapes at same position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351247/

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