我正在尝试将数据从“DATEV_RAB_UNVERBINDLICH”,范围D2:D复制到工作表“准备上传”,范围B2:B。
我想在最后一行找到数据,然后将它们复制到另一张表中。我有这段代码:
Sub CopyInvoiceNo()
Dim ws, ws1 As Worksheet
Dim lastrow As Long
lastrow = .Cells(.Rows.Count, "D").End(xlUp).Row
Set ws = Sheets("DATEV_RAB_UNVERBINDLICH")
Set ws1 = Sheets("Ready to upload")
ws.Range("D2" & lastrow).Copy
ws1.Range("B4").PasteSpecial xlPasteValues
ws1.Activate
End Sub
但我收到错误消息无效或不合格的参考。你能告诉我,我该怎么办?
答案 0 :(得分:1)
代码中的两个错误
在第3行,这不是在同一行中定义多个变量类型的正确方法。你必须定义它们中的每一个。 在第10行,让我们说你的lastrow是" 20"。它会将范围设置为" D220",这也不是你想要的。
Sub CopyInvoiceNo()
Dim ws As Worksheet, ws1 As Worksheet
Dim lastrow As Long
Set ws = Sheets("DATEV_RAB_UNVERBINDLICH")
Set ws1 = Sheets("Ready to upload")
lastrow = ws.Cells(Rows.count, 4).End(xlUp).Row
ws.Range("D2:D" & lastrow).Copy
ws1.Range("B4").PasteSpecial xlPasteValues
ws1.Activate
End Sub
我还改为在代码开头定义变量及其值。经过一些测试后,lastrow位也没有在这里编码。现在它至少对我有用。