首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA跨多个工作表复制和重新定位徽标

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

Stack Overflow用户
提问于 2015-03-20 16:20:43
回答 2查看 1.2K关注 0票数 0

我目前正在寻找一个简单的excel工作簿填充几十个模板表格,我们使用(每个工作表一个)。作为其中的一部分,我希望在前面有一个“主”页,它可以按下宏复制信息到所有其他工作表中。

为细胞做这件事很容易,但我在复制任何标识时都取得了有限的成功。我的意图是将我公司的徽标放在表单的右上角,任何客户标识都在左上角,点击一个按钮,2-3个徽标就会出现在所有其他工作表上。

我成功地用以下代码按名称重新定位了这些徽标:

代码语言:javascript
运行
复制
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是复制和命名的标志。

但是,这意味着我需要已经复制到每个工作簿中的正确单元格中的徽标具有正确的名称。我已经成功地在所有工作表上复制了徽标,但是无法像我所做的那样重命名它们,它们只是被指定为"Picture#“作为一个名称。我尝试在类似的“每个”宏中添加一个重命名,以便将其复制到所有工作表中,但这只重命名了一个粘贴到活动工作表中的徽标,而没有在其余工作表中重命名任何一个。

任何建议,如何复制和重命名这些图片到多个工作表,同时也重命名他们将不胜感激。或者,我将接受第一个复制和用第二个宏重命名的方法。

提前谢谢你的帮助。

我以前尝试过如何将形状复制到另一个工作表(不是作为图片)?方法,但设置目标单元格只是将徽标转储在左上角,当我希望它处于中心位置时,它看起来非常混乱--因此根据原始徽标的位置重新定位宏。该链接下的方法还将徽标重命名为"Picture#",从而创建了重命名要求。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-20 16:45:21

我用一个形状做了这件事

代码语言:javascript
运行
复制
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
票数 0
EN

Stack Overflow用户

发布于 2015-03-20 16:35:56

当谷歌搜索"Excel形状副本“时,第二个结果指向了SE的一个巧妙的问题。

How to copy a Shape to another worksheet (not as a picture)?

很肯定这会解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29171270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档