自动编号基于行值中的最后一个单元格

时间:2018-10-27 04:01:00

标签: excel vba excel-vba autonumber

以下代码在B列具有值的情况下在A列中添加自动编号,我想更改该代码,以便它将从最后一行开始添加自动编号计数。    为什么?,因为如果我删除第一行中已经有数字的任何行,即。删除第五行和第六行后,我在第一列1、2、3、4、7、8中有序列。运行代码后,它将其更改回1、2、3、4、5、6,但是如果它可以从最后一行开始,如下所示:1、2、3、4、7、8、9、10等。换句话说,它不应更改现有行,而只是继续对新添加的行进行编号。 我该怎么办?

Sub AutoNumber()
    Dim lastRow As Long
    lastRow = Range("B" & Rows.Count).End(xlUp).Row
    Range("A1").AutoFill Destination:=Range("A1:A" & lastRow), Type:=xlFillSeries
End Sub

1 个答案:

答案 0 :(得分:2)

对于顺序序列,我更喜欢使用DataSeries而不是自动填充。

Sub AutoNumber()
    Dim lastRowA As Long, lastRowB As Long
    lastRowA = Range("A" & Rows.Count).End(xlUp).Row
    lastRowB = Range("B" & Rows.Count).End(xlUp).Row
    Range(cells(lastrowa, "A"), cells(lastrowb, "A")).DataSeries _
       Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False
End Sub