【エクセルマクロ】同じデータに同じ番号を振る:作業効率アップの方法

エクセルマクロ_同じデータに同じ番号を振る_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、同じデータに同じ番号を振るVBAコードをご紹介します。

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

同データに同じ番号を振る

以下のExcelVBAを実行すると、同じデータに同番を自動入力します。

Sub 同じデータに同じ連番をふる()

Dim DicName As Variant
Dim i As Long
Dim j As Long
Dim Cnt As Long
Dim LastRow As Long
Dim GetName As String
Dim myKey As Variant

    '連想配列
    Set DicName = CreateObject("Scripting.Dictionary")

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

    '列をループ
    For i = 2 To LastRow

        '値を変数へ
        GetName = Cells(i, 1)

        '重複しないリストを連想配列へ
        If Not DicName.Exists(GetName) Then
            DicName.Add GetName, GetName
        End If
    Next i

    myKey = DicName.keys
    Cnt = 1

    'リスト分ループ
    For i = 0 To UBound(DicName.items)

        For j = 1 To LastRow
            If Cells(j, 1) = myKey(i) Then

                '通し番号を振る
                 Cells(j, 2) = Cnt

            End If
        Next j

        Cnt = Cnt + 1

    Next i

    Set DicName = Nothing

End Sub

 

マクロ実行後

同一データに同じ番号を打ちます。

下図を例にすると、「ブドウ」 は同じデータが計4つあり、4つすべてに「1」が振られています。

想定:A列のデータは増減する。A列の値はどこに同じ値がくるかわからないものとします。

 

【エクセルマクロ】重複データに連番をふる:作業効率アップの方法
...