VBA – 自动填充并从最后一个非空单元格增加
我有以下代码:
Dim lastRow As Long lastRow = Range("B" & Rows.Count).End(xlUp).Row Range("A" & Cells.Rows.Count).End(xlUp).AutoFill Destination:=Range("A2000:A" & lastRow)
它工作正常。 它find列B中的最后一个非空单元格,然后开始自动填充列A从A2000到列B中的单元格。但是,我需要它从列A中最后一个非空单元格开始自动填充,即使存在只有一个空行被自动归档。 这是非常重要的,因为通常我在A列和B列之间只有一个空单元格,这意味着可能有其他的决定,如AutoFillNext或类似的。 我试图通过删除单元格编号来修改代码,如下所示:
Destination:=Range("A:A" & lastRow)
它没有按预期工作。
我倾向于使用Range.FillDown方法而不是Range.AutoFill方法 。
Dim lastRow As Long with activesheet lastRow = .Range("B" & .Rows.Count).End(xlUp).Row .Range(.Cells(.Rows.Count, "A").End(xlUp), .Cells(lastRow, "A")).FillDown end with
如果你想增加一个date值,那么Range.DataSeries会更合适。
Dim lastRow As Long With ActiveSheet lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range(.Cells(.Rows.Count, "A").End(xlUp), .Cells(lastRow, "A")) .DataSeries Rowcol:=xlColumns, Type:=xlChronological, _ Date:=xlDay, Step:=1, Trend:=False End With End With