我正在尝试创建一个从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
答案 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)