Excel: 创建一个宏以将活动选择复制粘贴到另一个工作表中

Excel: Creating a macro to copy&paste active selection into another worksheet

这是我的第一个问题,请多多关照。

免责声明:我对Excel中的宏构建也很陌生,所以如果我要求澄清,请不要生气。

我着手制作一个项目跟踪器,运行解决了以下问题: 我想要一个按钮,允许我在一个工作表上复制活动的 selection(单个单元格或一行)并将其粘贴到一个工作簿中的另一个工作表中。

我基本上想做的是有可能只 select 某项任务,单击按钮并将其 copy/paste 到不同的工作表中。因此,据我了解,代码需要是一个循环(?)并且它还需要偏移以便我可以粘贴多个任务并且它们不会相互覆盖。

我现在设法搜集的代码在行 Activecell.Offset 上给了我运行时错误 1004,我不明白为什么。

Sub MoveToWeekly()
Sheets("Test1").Select
    Selection.Copy

    Sheets("Test2").Select

    Sheets("Test2").Range("A1:A4").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1).Select
    
    

    Selection.PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End Sub

如果能得到一些帮助,我将非常高兴,很抱歉我没有说得很具体。

这是一种方法

Sub MoveToWeekly()

    'make sure a range is selected
    If typeName(selection)<>"Range" Then
         Msgbox "First select a range"
         Exit sub
    End If

    'you can assign the value between the two ranges directly, without copy/paste
    'Note: assumes there's always a value in ColA on the destination sheet
    with Selection
        'Starting at the bottom of the sheet and using xlUp is 
        '    typically safer than using xlDown
        Sheets("Test2").Cells(rows.count,1).end(xlup).offset(1,0) _ 
              .resize(.rows.count, .columns.count).value = .value
    End with

End Sub