【发布时间】:2015-03-19 19:33:03
【问题描述】:
我需要每周将新数据从工作表复制到包含所有过去数据的现有工作表。现有的工作表列(一些)也是使用 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 列,其余的将自动填充。我尝试输入日期(最后一行代码),但即使这样也不会填满一次。任何帮助表示赞赏,我也不明白我运行的每个模块都不会影响添加的新数据。
【问题讨论】:
-
当您说“将自动填充其余部分”时,是否还有其他行 (E-?) 具有您希望自动填充到新填充的行中的公式?
-
@FreeMan 是的,还有更多列。例如:我复制了 4 列的 100 行,它们被复制,但其值取决于这些列的其他列没有填满。我需要拖动来填充它,但我想通过 VBA 来完成。如果可能的话,你能否告诉我为什么 Date 语句直到最后才填满。我认为这也应该提示我填写其他行。