我写这个宏是为了复制一个工作表中的一个单元格区域,然后动态粘贴到另一个工作表中的最后13行数据,并将数据粘贴到最后一行。每次我试图运行下面的代码时,我都会收到一个 Application defined or object defined error,并且我的vba编辑器中的调试器会突出显示这行代码:lastRow = ws2.Cells(ws2.Rows.Count, "G").End(xlUp).Row
作为错误的来源。有人能帮我找出我做错了什么吗???
Sub DataTransfer()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Integer
Set wb1 = Workbooks("Workbook1.xlsm")
Set wb2 = Workbooks("Workbook2.xlsx")
Set ws1 = wb1.Worksheets("Sheet1")
Set ws2 = wb2.Worksheets("Sheet1")
lastRow = ws2.Cells(ws2.Rows.Count, "G").End(xlUp).Row
ws1.Range("B3:P16").Copy
ws2.Range("G" & lastRow - 11 & ":P" & lastRow + 1).PasteSpecial Paste:=xlPasteValues
End Sub
1条答案
按热度按时间htrmnn0y1#
我刚刚意识到我复制的范围与附加了
.PasteSpecial
方法的范围大小不一样,我将最后一行改为ws2.Range("G" & lastRow - 12).PasteSpecial Paste:=xlPasteValues
,它修复了所有问题。