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

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

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

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

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

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


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

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

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

    '2~最終行をループ
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

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

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

    myKey = DicName.keys
    Cnt = 1
    
    Application.DisplayAlerts = False

        '連想配列をループ
        For i = 0 To UBound(DicName.items)
    
            For j = 1 To Cells(Rows.Count, 1).End(xlUp).Row
                If Cells(j, 1) = myKey(i) Then
    
                    '通し番号を振る
                     Cells(j, 2) = Cnt
    
                End If
            Next j
    
            Cnt = Cnt + 1
        Next i

    Application.DisplayAlerts = True

    Set DicName = Nothing

End Sub

 

マクロ実行後

A列が同一データの場合、B列に同じ番号を入力します。

例えば下図では、A列に「ブドウ」が4つあり、4つすべてに「1」を振ります。

 
この記事がお役に立てれば幸いです。
 

【エクセルマクロ】連番処理を自動化する:超便利7選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説