- 締切済み
マクロを使った重複チェックについて。
以下の様な表があります。 番号 名前 ジャンル AAAA-1 佐藤 趣味 BBB-5 高橋 スポーツ CCC-35 酒井 音楽 AAAA-1 佐藤 趣味 BBB-6 高橋 スポーツ CCC-35 酒井 音楽 番号部分が重複していると、重複している行を順々に、 『○行目と×行目が重複しています”というようなメッセージが表示されるようにしたいのです。 (番号部分の桁数は、その時々によって変わります。) 行は1000行ほどあります。 ボタンをクリックすると、チェックのマクロが走るようにしたいのですが、 どのようにすれば良いのでしょうか? 教えてください。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
こんな感じでどうでしょうか --------------------------------------------------------------- Public Sub 重複チェック() Dim base As Range, x As Range Dim i, DupList, a Set DupList = CreateObject("Scripting.Dictionary") Set base = Range("A2") 'データの始まりのセル i = 0 Do While (base.Offset(i).Value <> "") '空白セルで終わり Set x = base.Offset(i) If DupList.Exists(x.Value) Then DupList.Item(x.Value) = DupList.Item(x.Value) & "," & x.Row Else DupList.Add x.Value, x.Row End If i = i + 1 Loop For Each i In DupList.keys If InStr(DupList.Item(i), ",") > 0 Then MsgBox i & "が、" & StrConv(DupList.Item(i), vbWide) & "行目で重複しています" End If Next End Sub