以下のコードの目的は、列 B の番号順に 1 から rowCount まで行 6 に番号を付けることです。ユーザーが行を挿入すると、番号は自動的に調整されます。たとえば、ユーザーが行 6 と行 7 の間に新しい行を挿入すると、列 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