下面代码的目的是在 col B 中按数字顺序将第 6 行编号为 rowCount,从 1 到 rowCount。当用户插入一行时,数字会自动调整。例如,如果用户在第 6 行和第 7 行之间插入新行,则新行在 col B 中的编号为 7,之前的第 7 行重新编号为 8,其余行重新编号为 9 到 rowCount。这工作正常,直到 rowCount >= 100。然后当用户插入新行时,程序崩溃。为什么?100及以上有什么特别之处?当用户插入新行时,是否有更好的方法自动重新编号行?
Private Sub Worksheet_change(ByVal target As Range)
Dim i As Long, rowCount As Long
rowCount = UsedRange.Rows.Count
For i = 6 To rowCount
If Me.Cells(i, 2) <> i - 5 Then
Me.Cells(i, 2) = i - 5
End If
Next