2016-02-23 6 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-range-in-vba – newguy

+0

Итак, вы хотите создать эл-образное изображение значений ячейки? – 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 - сначала объявите рабочую книгу. 'Dim wb как рабочая книга | Установите wb = Рабочие книги ("myBook.xlsx") 'Затем установите' ws' в 'wb.Worksheets (" sheet2 ")' –

0

Вы можете объединить несколько диапазонов через Union, но .copyPicture нельзя использовать на чем-то, что не является прямоугольником или квадратом.

+0

Почему это ответ, если вы фактически не решаете проблему OP? –

+0

@ScottHoltzman - * 'Вы не можете добраться отсюда.' * - ответ. – Jeeped

Смежные вопросы