【エクセルマクロ】 連番の抜けを探す:コピペで使えるコード

エクセルマクロ 連番の抜けを探す アイキャッチ エクセルマクロで効率化する

エクセルマクロで、連番の抜けを探すVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

連番の抜けを探す

以下のExcelVBAを実行すると、連番の抜けを探します。

Sub 欠番を探す()

Dim i As Long
Dim J As Long
Dim LastRow As Long
Dim Cnt As Long

    '最終行を取得
    LastRow = Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1) + 1

    '連番チェック用
    Cnt = 1

    '2行目からループ
    For i = 2 To LastRow

            If Cells(i, 1) = Cnt Then

                '連番を入力
                Cells(i, 3) = Cnt

            Else

                'A列をループ
                For J = 2 To LastRow

                    '連番を入力
                    If Cells(J, 1) = Cnt Then
                        Cells(i, 3) = Cnt
                        Exit For

                    '欠番がある場合は、背景色を塗る
                    ElseIf J = LastRow Then
                        Cells(i, 3) = Cnt
                        Cells(i, 3).Interior.Color = 65535
                        Exit For
                    End If

                Next J
            End If

        Cnt = Cnt + 1

    Next i

End Sub

 

マクロ実行後

A列には重複がない連番が入力されています。

A列の連番で抜けている数字をチェックして、C列に結果を転記します。

C列で黄色マーキングの数字は、A列で抜けている連番です。


 
 

連番の抜けを探す(欠番挿入)

以下のExcelVBAを実行すると、連番の抜けを探し、欠番を挿入します。

Sub 抜けている連番を探す()

Dim i As Long
Dim LastRow As Long
Dim Cnt As Long

    '最終行を取得
    LastRow = Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1) + 1

    '連番チェック用
    Cnt = 1

    '2行目からループ
    For i = 2 To LastRow

       If Cells(i, 1) <> Cnt Then

          Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
          Cells(i, 1) = Cnt
          Cells(i, 1).Interior.Color = 65535

       End If

       Cnt = Cnt + 1

    Next i

End Sub

 

マクロ実行後

A列には重複がない連番が入力されています。

A列で欠けている連番をチェックし、欠番があれば行挿入して番号を入力します。

A列で黄色マーキングの数字は、追加した連番です。


 
 

【エクセルマクロ】離れたセルに連番を自動入力:コピペで使えるコード
エクセルマクロで、離れたセルに連番を自動入力するVBAコードをご紹介します。 このページのマクロコ...