我使用以下代码从一张纸上的单元格中复制单元格范围,并按时间顺序粘贴到下一个可用行上的另一张纸上。
出于某种原因,如果我尝试复制多个单元格区域,它将无法正常工作,如下所示:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$R$71:$U$73" Then
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("Form")
Set pasteSheet = Worksheets("Total Data")
copySheet.Range("J8").Copy
copySheet.Range("R8").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Something"
End If
End Sub
请有人告诉我我哪里出错了吗?
提前致谢
答案 0 :(得分:0)
您只是粘贴了这些值,因此选择直接转移价值。
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = _
copySheet.Range("J8").Value
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(0, 1) = _
copySheet.Range("R8").Value
请注意参数更改为Range.Offset property。第一个找到最后一个填充的行并向下移动一个。第二个发现刚收到一个值并向右移动一个的单元格。