How to number rows after inserting or deleting rows automatically in Excel?
Supposing, I have numbered rows from 1 to 20 in a column, now, when I insert or delete a row from the data range, I want the number list can be renumbered automatically. Is this task can be completed in Excel?
Insert bullets or numbering list into a column of cells:
Kutools for Excel's Insert Bullet and Insert Numbering features can help you quickly insert bulleted and numbering list to a column of cells. Download and free trial Kutools for Excel Now!
Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download and free trial Now!
In fact, the Row function in Excel can help you to auto renumber the rows after inserting or deleting rows, please do as follows:
1. Enter this formula: =ROW()-1 into cell A2, and then drag the fill handle down to the cells that you want to number the rows, see screenshot:
Note: If your number list start at the first cell, you can change the formula as =ROW(), you can add or subtract from the formula if your numbers don't match up with the actual row, for example, =ROW()-3, =ROW()+10…
2. Then create a table for this data range, select the data range, and click Insert > Table, and then in the Create Table dialog box, check My table has headers if there are headers in your range, see screenshot:
3. And then click OK, the table has been created at once, and now, when you insert or delete rows in the table range, the row numbers are always updated automatically, see screenshot:
Except the above formula method, you can also finish it with a VBA code.
1. Go the worksheet that you want to insert sequence numbers automatically.
2. Right click the sheet tab, and select View Code from the context menu, in the popped out Microsoft Visual Basic for Applications window, please copy and paste the following code into the blank Module window.
VBA code: Auto number rows after inserting or deleting rows:
Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice 20160612 Dim I As Integer I = 1 Application.EnableEvents = False For I = 1 To 20 Range("A" & I).Value = I Next Range("A21").Value = "" Application.EnableEvents = True End Sub
3. Then save and close this code, when you enter the first number 1 into cell A1, the sequence numbers from 1 to 20 will be filled automatically. If you insert or delete rows from the range, the series number will be renumbered automatically at once.
Note: In the above code, the letter A indicates the column letter which you want to fill the sequence number, 1 To 20 is the rows which you want to number, and A21 is the cell reference next to your last numbered cell. You can change them as you need.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 3 months agois there any formula?
To post as a guest, your comment is unpublished.· 3 months agoif i delete the row, is there any possibility to set below numbers are in serial
To post as a guest, your comment is unpublished.· 1 years agoThanks....
To post as a guest, your comment is unpublished.· 2 years agoJust what I was looking for thank you!!
To post as a guest, your comment is unpublished.· 2 years agovery very thanks! www.extendoffice.com
To post as a guest, your comment is unpublished.· 2 years agoIt doesn't work for me. It won't allow me to insert a table for more than one row. If I proceed without it, it does not change the numbers after deleting or adding a row. Please advise.