我正试图从工作表中复制数据"MAINSHEET";单元M9至O9并将其粘贴到片材"上";COPYDATA";,列B。首先它将数据粘贴到B2,然后它将粘贴到B3,然后粘贴到B4,然后继续。。。但它不会往下走,继续粘贴在B2细胞上。
Sub Copy()
Dim lastrow As Integer
lastrow = ThisWorkbook.Sheets("COPYDATA").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("MAINSHEET").Range("M9:O9").Copy
Worksheets("COPYDATA").Range("B" & lastrow + 1).PasteSpecial xlPasteValues
End Sub
您正在计算第1列中的行数,但在第2列中进行粘贴,因此最后一行始终保持不变。
请计算B列中的行数。
lastrow = ThisWorkbook.Sheets("COPYDATA").Cells(Rows.Count, 2).End(xlUp).Row
试试这个:
Sub Copy()
Dim lastrow As Long
lastrow = ThisWorkbook.Sheets("COPYDATA").Cells(ThisWprkbook.Sheets("COPYDATA").Rows.Count, "B").End(xlUp).Row
Sheets("MAINSHEET").Range("M9:O9").Copy
Worksheets("COPYDATA").Range("B" & lastrow + 1).PasteSpecial xlPasteValues
End Sub
您需要修改代码以获得COPYDATA表的行数,并使用列";B";。