复制多个单元格范围并按时间顺序粘贴到其他工作表标签上的下一个可用行?

时间:2016-02-11 10:14:53

标签: excel vba

我使用以下代码从一张纸上的单元格中复制单元格范围,并按时间顺序粘贴到下一个可用行上的另一张纸上。

出于某种原因,如果我尝试复制多个单元格区域,它将无法正常工作,如下所示:

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

请有人告诉我我哪里出错了吗?

提前致谢

1 个答案:

答案 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。第一个找到最后一个填充的行并向下移动一个。第二个发现刚收到一个值并向右移动一个的单元格。