我对VBA很新,但需要在我每周运行的报告中使用它。我需要每周复制并粘贴到另一个工作表中的六列 - 这将是累积的,因此它会在每周旧数据之后粘贴新数据,而不是替换它。此案例的范围是A6:A24到F6:F24。还有一点需要注意的是,我想添加一个名为date的列,发布那天的日期 - 可行吗?我附上了一个片段 - 我的想法是在新标签(经理,员工等)中创建列标题并每周填写数据,以便创建包含历史数据的图表。
添加我的想法:
Sub sbCopyRangeToAnotherSheet()
'Method 1
Sheets("Summary Build").Range("A6:F24").Copy Destination:=Sheets("Sheet1").Range("A2")
End Sub
答案 0 :(得分: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)