Excel VBA跨多个工作表复制和重新定位徽标

我目前正在寻找一个简单的Excel工作簿,里面有几十个我们使用的模板表单(每个工作表一个)。 作为这个的一部分,我期待在前面有一个“主”表,可以将macros观复制信息按到所有其他工作表中。

为细胞做这件事很简单,但是我在复制任何标识方面都取得了有限的成功。 我的意图是将公司的徽标放在表格的右上angular,左上angular的任何客户徽标上,按下一个button,2-3个徽标将显示在所有其他工作表的相同位置。

我设法通过以下代码按名称单独重新定位徽标:

For Each Shape In Worksheet.Shapes If Shape.Name = "OurLogo" Then Shape.Left = (Wb1.Sheets("Inputs").Shapes("Our Logo").Left - 1) Shape.Top = (Wb1.Sheets("Inputs").Shapes("Our Logo").Top - 1) End If Next Shape 

我们的标志是原始标志,OurLogo是复制和命名的标志。

但是这意味着我需要将已经复制到每个工作簿中具有正确名称的正确单元格的徽标。 我已经设法将徽标复制到所有的工作表中,但没有能够重命名,因为我已经去了,他们只是分配了“图片#”作为名称。 我尝试在类似的“For Each”macros中包含一个重命名,以便将其复制到所有工作表中,但这只是将其中一个徽标重命名为粘贴到活动工作表中,并且没有在其余工作表中重命名。

任何build议如何复制和重命名这些图片到多个工作表,同时也重新命名他们将不胜感激。 另外,我会接受复制第一个和重命名后的第二个macros的方法。

在此先感谢您的帮助。

我以前尝试过如何将形状复制到另一个工作表(而不是图片)?方法,但是设置目标单元格简单地将徽标倾倒在左上angular,当我想要中心时看起来非常凌乱 – 因此重新定位macros原标志的位置。 该链接下的方法也将徽标重命名为“图片#”,创build了重命名要求。

我已经做了1形状

 Sub CopyAndRenameShape() Dim sh As Shape Dim wks As Worksheet Set sh = Sheet1.Shapes("shtTest") For Each wks In ThisWorkbook.Worksheets If wks.Name <> ActiveSheet.Name Then sh.Name = wks.Name & "_" & sh.Name sh.Copy wks.Paste End If Next wks sh.Name = "shtTest" End Sub 

在“Excel VBA形状复制”谷歌search的第二个结果指向一个漂亮的问题在这里东南。

如何将形状复制到另一个工作表(而不是图片)?

肯定会解决你的问题。