复制范围并排除其中的范围

时间:2016-02-23 14:45:39

标签: excel vba excel-vba copy

我有一个问题;我想复制A1:P40之间的范围,但我想要了解A7:F40。这可能吗?

    Range("A1:P40").CopyPicture

有没有办法从整体中排除A7:F40?

2 个答案:

答案 0 :(得分:0)

您可以通过Union加入多个范围,但.copyPicture不能用于非矩形或方形的内容。

答案 1 :(得分:0)

您可以单独复制这两个范围,并将图片准确地放在另一张纸上所需的位置。

查看此代码,全部经过测试。

Sub CopyPics()

Dim ws1 As Worksheet
Dim ws2 As Worksheet

Set ws1 = ThisWorkbook.Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheet2")

ws1.Range("A1:P6").CopyPicture
ws2.Range("A1").PasteSpecial

ws1.Range("G7:P40").CopyPicture
ws2.Range("G7").PasteSpecial

End Sub

如果要粘贴链接的图片,可以执行以下操作:

ws1.Range("A1:P6").Copy
ws2.Pictures.Paste(Link:=True).Select
With Selection
    .Top = 0
    .Left = ws2.Range("A1").Left
End With

ws1.Range("G7:P40").Copy
ws2.Pictures.Paste(Link:=True).Select
With Selection
    .Top = ws2.Range("G2:G7").Height
    .Left = ws2.Range("G7").Left
End With