我正在使用VBA在另一个工作表上复制和保存数据,即“数据”。数据已保存,但第一次保存在错误的位置,即范围。它跳跃了50行。在第二次之后,它保存在正确的位置。你能告诉我我的错误吗?

]1
Sub Save_Click()
' Save Pay_Slip on "Data"Sheet
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim LR As Long
Dim last As Long
Sheets("Data").Unprotect Password:=""
Sheets("Pay_Slip").Unprotect Password:=""
LR = Sheets("Pay_Slip").Range("B500").End(xlUp).Row
last = Sheets("Data").Range("E" & Rows.Count).End(xlUp).Row
Set copySheet = Worksheets("Pay_Slip")
Set pasteSheet = Worksheets("Data")
Sheets("Data").Range("A" & last + 3).Value =
Sheets("Pay_Slip").Range("Y3").Value
Sheets("Data").Range("B" & last + 3).Value =
Sheets("Pay_Slip").Range("T3:V3").Value
Sheets("Data").Range("C" & last + 3).Value =
Sheets("Pay_Slip").Range("I2:K2").Value
copySheet.Range("A5" & ":AI" & LR + 2).Copy
pasteSheet.Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).PasteSpecial
xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
Sheets("Pay_Slip").Range("X2").Value = _
Sheets("Pay_Slip").Range("X2").Value + 1
Sheets("Pay_Slip").Protect Password:=""
Sheets("Data").Protect Password:=""
End Sub发布于 2018-03-19 18:11:01
这是它第一次将数据放在范围(“A4”)中,依此类推,这是因为您正在单独编写语句,然后您已经编写了从范围(“A5”& ":AI“& LR + 2)复制数据的代码,因此它将数据放在正确的位置。如果要将数据粘贴到范围(“W2”)中的表" data“中,则忽略单个语句。
https://stackoverflow.com/questions/43898475
复制相似问题