2016-02-23 127 views
1

我有一个问题;我想复制A1:P40之间的范围,但我想要超越A7:F40。那可能吗?复制范围内排除范围

Range("A1:P40").CopyPicture 

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

+3

看到这个http://stackoverflow.com/questions/12527725/how-to-create-a-range- from-2-ranges-in-vba – newguy

+0

所以你想制作一个单元格值的el形图像? – Jeeped

+0

是的,因为我需要这个空白区域 –

回答

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 
+0

非常感谢! –

+0

如果我想将其粘贴到其他工作簿工作表中,该怎么办? –

+0

@YigitTanverdi - 首先声明工作簿。 '作为工作簿|设置wb = Workbooks(“myBook.xlsx”)然后将'ws'设置为'wb.Worksheets(“sheet2”)' –

0

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

+0

为什么这是一个答案,如果你不会真正解决OP的问题? –

+0

@ScottHoltzman - *'你不能从这里到达。'*是答案。 – Jeeped