我正在尝试将数据从工作表“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
但我收到错误 msg Invalid or unqualified reference。你能告诉我,我做错了什么吗?
代码中有两个错误
在第 3 行,这不是在同一行中定义多个变量类型的正确方法。您必须定义它们中的每一个。在第 10 行,假设您的最后一行是“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 位也没有在这里编码。现在它至少对我有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句