Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Columns.Count = Columns.Count Then
Dim ArrayRowNumber As Long, ColumnRow As Long
Dim Column_A_DataRows As Long, Column_A_DataStartRow As Long
Dim LastRowInColumn As Long
Dim NumberingArray As Variant
'
Column_A_DataStartRow = 3 ' <--- Set this to the start row of data in column A
LastRowInColumn = Range("B" & Rows.Count).End(xlUp).Row ' Returns a Row Number
Column_A_DataRows = LastRowInColumn - Column_A_DataStartRow + 1 ' Number of data rows
'
ReDim NumberingArray(1 To Column_A_DataRows) ' Set the number of rows in NumberingArray
'
ArrayRowNumber = 0 ' Initialize ArrayRowNumber
'
For ColumnRow = UBound(NumberingArray, 1) To LBound(NumberingArray, 1) Step -1 ' Loop backwards through NumberingArray
ArrayRowNumber = ArrayRowNumber + 1 ' Increment ArrayRowNumber
NumberingArray(ArrayRowNumber) = ColumnRow ' Save ColumnRow into NumberingArray
Next ' Loop back
'
Range("A" & Column_A_DataStartRow).Resize(UBound(NumberingArray, 1)) = Application.Transpose(NumberingArray) ' Display NumberingArray to column A
End If
End Sub