将数据粘贴到新工作表

时间:2012-07-11 15:43:49

标签: excel vba excel-vba

我是VBA的新手,所以我可能会问一些非常基本的东西 - 对不起! 我有一个包含一系列记录的工作表,我想将其移到另一个名为“July Archive”的工作表中。我正在使用此代码,我知道这将覆盖“July Archive”中的目标单元格。但我得到一个错误,说pasteValue操作失败。

另外,如何附加单元格而不是覆盖单元格。我尝试过PasteAppend,但得到一个错误,说它不受对象的支持。

Sub Selectweeklyreport()

    ActiveSheet.Range("a16", ActiveSheet.Range("f16").End(xlDown)).Cut
    ActiveSheet.Goto ("July Archive")
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False

End Sub

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

Sub Selectweeklyreport()
    Dim wsI As Worksheet, wsO As Worksheet
    Dim lRow As Long

    '~~> Replace this with the relevant sheet name
    Set wsI = Sheets("Sheet1")
    Set wsO = Sheets("July Archive")

    With wsI
        '~~> Get the last Row in Sheet1
        lRow = .Range("F" & .Rows.Count).End(xlUp).Row

        '~~> Copy the range from Sheet1
        .Range("A16:F" & lRow).Copy 'and not .Cut????

        '~~> Get the next available row in July Archive
        lRow = wsO.Range("A" & wsO.Rows.Count).End(xlUp).Row + 1

        '~~> Paste Special Values
        wsO.Range("A" & lRow).PasteSpecial Paste:=xlValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End With
End Sub