2015-10-06 5 views
0

Я пытаюсь скопировать и вставить определенный диапазон из одного листа в два других листа. Это фрагмент кода, где он, кажется, идет не так:Excel VBA Copy Paste

row = ActiveWorkbook.Sheets("SheetX").Cells(Rows.Count, 3).End(xlUp).Row 

ws.Range("A1", "J1").Copy 
ActiveWorkbook.Sheets("Sheet1").Range("B2", "K2").PasteSpecial xlPasteValues 
ActiveWorkbook.Sheets("SheetX").Range(Cells(row, 3), Cells(row,12)).PasteSpecial xlPasteValues 

Поскольку количество строк является динамическим «строка» содержит номер строки, я хочу, чтобы вставить его в.

Проблема в том, что в последней строке я получаю «заданный или определенный объектом» -error, где я пытаюсь передать его на второй рабочий лист.

ответ

0

Когда вы запускаете ячейки (строка, 3), вы на самом деле вызываете ячейки (строки, 3) на ActiveSheet, а не на листы («SheetX»). Вместо этого вы должны это сделать:

row = ActiveWorkbook.Sheets("SheetX").Cells(Rows.Count, 3).End(xlUp).Row 

ws.Range("A1", "J1").Copy 
ActiveWorkbook.Sheets("Sheet1").Range("B2", "K2").PasteSpecial xlPasteValues 
Range(ActiveWorkbook.Sheets("SheetX").Cells(row, 3), ActiveWorkbook.Sheets("SheetX").Cells(row,12)).PasteSpecial xlPasteValues 
+0

Спасибо. Это работает отлично! –

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