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

我是新来的VB的世界,我目前正在复制粘贴我的spreed工作表的一部分像这样:

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

所以基本上我只是从G4复制到P34的区域作为图像,并从T4开始粘贴它迄今为止工作正常。 事情是新创build的图片获取一个自动分配的Name属性,所以我不能访问它像下面的代码片段一样简单,因为我实际上不知道它的名字:

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

我的问题是如何访问我刚刚粘贴到表格中的图片? 任何意见将不胜感激,非常感谢提前。

我想你需要的是返回所谓的Application.Caller属性。 一个例子是

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

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

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