2015-10-06 266 views
0

我試圖將一個工作表中的某個範圍複製並粘貼到另外兩個工作表中。這是一個代碼片段它似乎出問題:Excel VBA複製粘貼

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 

由於行的數量是動態的「行」持有我想粘貼到的行號。

問題是我在最後一行得到一個「應用程序定義的或對象定義的」 - 錯誤,我嘗試將它過濾到第二個工作表。

回答

0

當您運行Cells(row,3)時,實際上是在ActiveSheet上而不是在Sheets(「SheetX」)上調用Cells(row,3)。相反,你應該這樣做:

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

謝謝。這很好用! –