将其他输入复制到Excel并自动填充

时间:2015-03-19 19:33:04

标签: excel vba excel-vba

我需要每周将工作表中的新数据复制到包含所有过去数据的现有工作表。现有的工作表列(一些)也使用Vba制定。我编写了将数据复制到工作表中的代码,但其他列未自动填充(或拖动)。

Sub Transfernewdata()

Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Sheet2")
lastrow = sht.Cells.Find("*", searchorder:=xlByRows,     searchdirection:=xlPrevious).Row
Range("D5:D" & lastrow).Copy ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 4)
Range("C5:C" & lastrow).Copy ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 3)
Range("B5:B" & lastrow).Copy ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 2)
Range("A5:A" & lastrow).Copy ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 1)
ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0) = Date
Application.CutCopyMode = False

End Sub

我只需要传输4列,其余部分将自动填充。我试着把日期(最后一行代码),但即使这样也不会填满一次。感谢任何帮助,我也不明白我运行的每个模块都不会影响添加的新数据。 enter image description here

1 个答案:

答案 0 :(得分:1)

改变这个:

ThisWorkbook.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0) = Date

到此:

ThisWorkbook.Worksheets("Sheet1").Range("A" & lastrow & ":a65536") = Date

<击>

根据您在下面的评论中提供的其他信息,我建议您将数据放入表格中。每次在表中插入行时,公式都应自动复制。

如果将光标移动到数据集的左上角,然后按 Ctrl - T ,它将自动列出您已经拥有的所有连续数据。 (您必须根据需要勾选或取消勾选“我的数据有标题”问题。)