复制嵌入的图像而不使用形状

时间:2015-12-10 20:07:01

标签: excel vba excel-vba

我有一张工作簿,其中包含许多具有随机名称和任意顺序的工作表和图像,我需要的唯一图像始终位于A2:C14范围内,我使用以下代码复制图像:

firstSheet.Range("A2:C14").Copy
secondSheet.Range("I6").PasteSpecial

但它只复制单元格文本,而不复制图像 有没有办法使用Range("A2:C14)"或其他方式复制图像来选择要复制图像的单元格?

1 个答案:

答案 0 :(得分:1)

由于CopyPicture是Sha​​pe对象的一个​​方法,除非你已经有一个指向它的指针,否则使用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