LastRow到新的LastRow VBA

时间:2019-01-17 09:18:00

标签: excel vba

我正在尝试创建一个从AutoFill到新LastRow的{​​{1}}的宏。

我有一个数据集,其中包含从A列到AA的公式。当我添加新的ID号(在D列中)时,我必须手动执行LastRow

我过去曾使用以下代码从Autofill到下面的一行执行AutoFill

LastRow

但是可以确保添加多个ID号。因此,我需要一个宏,它从Dim sourcerange As Range Set sourcerange = Cells(Rows.Count, 2).End(xlUp).Resize(1, 26) sourcerange.AutoFill Destination:=sourcerange.Resize(rowsize:=2) (可以在A列中检测到)到D列的(新)LastRow

1 个答案:

答案 0 :(得分:1)

只需确定D列中的NewLastRow并计算RowSize:=NewLastRow - SourceRange.Row + 1

Dim SourceRange As Range
Set SourceRange = Cells(Rows.Count, 2).End(xlUp).Resize(1, 26)

Dim NewLastRow As Long 'get new last row in column D
NewLastRow = Cells(Rows.Count, "D").End(xlUp).Row

SourceRange.AutoFill Destination:=SourceRange.Resize(RowSize:=NewLastRow - SourceRange.Row + 1)

请注意,您说的“可以在A列中检测到” ,但是…

Set SourceRange = Cells(Rows.Count, 2).End(xlUp)

…在第2列(即B列)上进行检测!
如果要在A列而不是B列进行检测,则必须使用…

Set SourceRange = Cells(Rows.Count, "A").End(xlUp).Offset(ColumnOffset:=1).Resize(1, 26)