MENU

重複データに連番をつける

無料アプリで、すぐにエクセルVBAマクロを作成できます。

例として、アプリで「重複データに連番をつける」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

事例

重複しているデータに、連番を付けます。

マクロを実行すると、重複データに連番がつきました。

できました(^^)/

アプリの設定

アプリのトップページ

 ⇒▼連続データ・重複データ・連番

 ⇒【ツール】重複データに連番をつける

【ポイント】

 行数が変わるデータの、最終行まで処理できます。

 セルの範囲は、重複データがある列と、その右の列です。

 その範囲の、左上セルと右下セルを指定してください。

 

 

 

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

Sub デモ_14() '重複データに連番をつける
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Application.Calculation = xlCalculationManual '自動計算を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("Sheet1").Select
'◆最終行を取得し、セル範囲を決める
Range("a2:b2").CurrentRegion.Select
右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("b2").Column).Address(False, False)
セル範囲 = "a2" & ":" & 右下セル
 
Dim 辞書 As Object, 表 As Variant, 行数 As Long
Set 辞書 = CreateObject("Scripting.Dictionary")
'表(配列)に、セル範囲の値を取り込む
表 = Range(セル範囲).Value
For 行数 = LBound(表) To UBound(表)
    '各行の一列目(key)のitemに、連番をいれる
    辞書(表(行数, 1)) = 辞書(表(行数, 1)) + 1
    '表の2列目に、そのitemを入れる
    表(行数, 2) = 辞書(表(行数, 1))
Next 行数
'表(配列)の値を、セル範囲に出力する
Range(セル範囲).Value = 表
Application.Calculation = xlCalculationAutomatic ' 自動計算を再開
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓