2016-02-23 148 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