エクセルマクロで、同じデータに同じ番号を振る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秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク