|
▼kanabun さん 回答ありがとうございました。
教えていただいたことを利用すれば、やりたいことが簡単に実現できました。
(自分用の単なるメモのようなものですが載せておきます)
Sub Try1()
Dim r As Range
Dim dic As Object
Dim ss As String '1行データパターン
Dim n As Long
Set dic = CreateObject("Scripting.Dictionary")
'比較する範囲
With Range("B10:E20")
.Interior.ColorIndex = xlNone
For Each r In .Rows
n = n + 1 '処理行
'一行をTab区切り文字列に変換
ss = Join(Application.Index(r.Value, 0#), vbTab)
If dic.Exists(ss) Then
Else
dic(ss) = n '初出パターン
End If
Next
End With
'比較されて消される範囲
With Range("B1:E10")
.Interior.ColorIndex = xlNone
For Each r In .Rows
n = r.Row '処理行
'一行をTab区切り文字列に変換
ss = Join(Application.Index(r.Value, 0#), vbTab)
If dic.Exists(ss) Then
.Rows(n).Interior.ColorIndex = 6
Else
dic(ss) = n '初出パターン
End If
Next
End With
Set dic = Nothing
End Sub
|
|