VBAマクロを自動作成する無料アプリ

VBAコードの知識不要😊ChatGPTで機能を追加

MENU

【ノーコード】重複データに同じ番号を付ける

エクセルVBAマクロを自動作成する無料アプリです。

例として、「重複データに同じ番号を付ける」VBAマクロを作成します。

 ・任意の複数列の重複も確認できます。

 ・重複データを削除することもできます。

事例 複数列のデータの重複を確認する

A列からC列までの3列の重複を確認します。

3列の値が重複する行に番号が振られました。

できました😄

 

アプリの設定

アプリのトップページ

 ⇒▼重複データ・連番・オートフィル・連続データ

 ⇒【ツール】重複データに同じ番号を付ける

表示されるVBAコード 

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

VBAコードを見る

Sub デモ() '重複しているデータに同じ番号を付ける
 
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range
Sheets("Sheet1").Select
'表の最終行を決定
Dim 最終行 As Long
最終行 = Cells(Rows.Count, Range("A2").Column).End(xlUp).Row
セル範囲 = "a2" & ":" & Cells(最終行, Range("c2").Column).Address(False, False)
 ' Dictionaryオブジェクトを作成
Dim 辞書 As Object, 表 As Variant, 配列 As Variant, 行 As Long, キー As Variant
Set 辞書 = CreateObject("Scripting.Dictionary")
'表(配列)に、セル範囲の値を取り込む
表 = Range(セル範囲).Value
For 行 = LBound(表) To UBound(表)
    キー = 表(行, 1) & "|" & 表(行, 2) & "|" & 表(行, 3)
  ' キーが存在する場合、アイテムを1増やす。 キーが存在しない場合、アイテムを1。
    If 辞書.Exists(キー) Then
        辞書.Item(キー) = 辞書.Item(キー) + 1
    Else
        辞書.Add キー, 1
    End If
Next 行
' アイテムが2以上のとき、アイテムを表示
For 行 = LBound(表) To UBound(表)
    キー = 表(行, 1) & "|" & 表(行, 2) & "|" & 表(行, 3)
    If 辞書.Item(キー) > 1 Then Cells(Range("d2").Row - 1 + 行, Range("d2").Column).Value = 辞書.Item(キー)
Next 行
'アイテムを1から再採番
辞書.RemoveAll
For 行 = LBound(表) To UBound(表)
    If Cells(Range("d2").Row - 1 + 行, Range("d2").Column).Value <> "" Then
        キー = 表(行, 1) & "|" & 表(行, 2) & "|" & 表(行, 3)
        If 辞書.Exists(キー) Then
            Cells(Range("d2").Row - 1 + 行, Range("d2").Column).Value = 辞書.Item(キー)
        Else
            辞書.Item(キー) = 辞書.Count + 1
            Cells(Range("d2").Row - 1 + 行, Range("d2").Column).Value = 辞書.Item(キー)
        End If
    End If
Next 行
End Sub

ChatGPTで修正

あなたが自動化したい内容と事例が少し異なる場合は、無料で使えるマイクロソフトの「BingAIチャット」でコードを修正します。とても簡単です!

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