在Excel VBA模块中访问粘贴的图片

时间:2014-08-25 09:56:06

标签: excel vba

我是VB世界的新手,我目前正在复制+粘贴我的spreed表的部分:

Sheets("Overview").Range("G4:P34").CopyPicture
Sheets("Overview").Paste Destination:=Worksheets("Overview").Range("T4")

所以基本上我只是将区域从 G4 复制到 P34 作为图像并从 T4 开始粘贴到目前为止很好。问题是新创建的图片会获得自动分配的Name属性,因此我无法像下面的代码段那样访问它,因为我实际上并不知道它的名字:

Sheets("Overview").Shapes("Picture xx").DoSomethingWithIt

我的问题是如何才能访问刚粘贴到我的工作表中的图片?任何建议都会受到赞赏,非常感谢。

1 个答案:

答案 0 :(得分:3)

我认为你需要的是Application.Caller属性,它返回被调用的内容。一个例子是

    sub pic()
    ActiveSheet.Shapes(Application.Caller).Select
     'some code

    End Sub

这应该选择最后一个对象(图片)而不必记住它的名字。在这里你可以更多地了解它

http://msdn.microsoft.com/en-us/library/office/ff193687(v=office.15).aspx