我有一张工作簿,其中包含许多具有随机名称和任意顺序的工作表和图像,我需要的唯一图像始终位于A2:C14范围内,我使用以下代码复制图像:
firstSheet.Range("A2:C14").Copy
secondSheet.Range("I6").PasteSpecial
但它只复制单元格文本,而不复制图像
有没有办法使用Range("A2:C14)"
或其他方式复制图像来选择要复制图像的单元格?
答案 0 :(得分:1)
由于CopyPicture
是Shape对象的一个方法,除非你已经有一个指向它的指针,否则使用Shapes集合是不可避免的
像这样的东西
Sub Demo()
Dim shp As Shape
Dim rng As Range
Set rng = firstSheet.Range("A2:C14")
For Each shp In firstSheet.Shapes
If Not Intersect(rng, shp.TopLeftCell) Is Nothing Then
' Found it
shp.CopyPicture
secondSheet.Range("I6").PasteSpecial
Exit Sub
End If
Next
End Sub