首页 文章

excel中的VBA宏将每周将一系列单元格复制并粘贴到另一个工作表中

提问于
浏览
-2

我是VBA的新手,但我需要在每周运行的报告中使用它 . 我需要每周复制并粘贴到另一个工作表中的六列 - 这将是累积的,因此它会在每周旧数据之后粘贴新数据,而不是替换它 . 此案例的范围是A6:A24到F6:F24 . 还有一点需要注意的是,我想添加一个名为date的列来发布那天的日期 - 这是可行的吗?我附上了一个片段 - 我的想法是在新标签(经理,员工等)中创建列 Headers 并每周填写数据,这样我就可以创建包含历史数据的图表 .
enter image description here

添加我想出的:

Sub sbCopyRangeToAnotherSheet()
'Method 1
Sheets("Summary Build").Range("A6:F24").Copy Destination:=Sheets("Sheet1").Range("A2")
End Sub

1 回答

  • 1

    你快到了 . 您的代码将复制到A2 . 要查找需要从电子表格底部开始的下一个空白单元格,请转到第一个填充的单元格,然后向下移动一个 . 电子表格的底部是范围(sheet.rows.count,1)为了上升,我们使用End(xlup)然后向下一个.offset(1,0)那是一行,没有列 . 把它放在一起,我们得到范围(工作表(“sheet1”) . rows.count,1).end(xlup).offset(1,0)所以你的线是

    Sheets("Summary Build").Range("A6:F24").Copy Destination:=range(sheets("sheet1").rows.count,1).end(xlup).offset(1,0)
    

    要将今天的日期放入单元格,您可以使用日期函数,例如:

    Range("A2") = Date()
    

    编辑:对不起它应该阅读

    Sheets(1).Range("A6:F24").Copy _
    Destination:=Sheets("sheet1").Cells(Sheets("sheet1").Rows.Count, 1).End(xlUp).Offset(1, 0)
    

相关问题