| 
    
     |  | ▼doka さん: 
 >教えていただいたことを利用すれば、やりたいことが簡単に実現できました。
 ごめん。レスして、すぐ外出してネットにアクセスできない環境にいたもので、
 Yukiさんのコードが前に出ていて、自分のがYukiさんのコードのパクリみたい
 になってるの、気が付きませんでした m(_ _)m
 Yukiさんのコードがそのままでは変化がなかったのは、たぶん処理対象範囲の
 ちょっとしたちがいから?
 
 > 1〜50行までと51〜100行までの二つの領域を比較して、
 > 51〜100行までのデータと同じものが、1〜50行目までの中に
 > あった場合、1〜50行のほうに色をつけるとしたいのですが、
 
 doka さん の直されたコードを
 「てにおは」部分だけ、ちょっと編集してみました。(^^)
 Sub Try2()
 Dim r As Range
 Dim dic As Object
 Dim ss As String '1行データパターン
 
 Set dic = CreateObject("Scripting.Dictionary")
 
 '比較する範囲
 With Range("B10:E20")
 For Each r In .Rows '行単位で
 '一行をTab区切り文字列に変換
 ss = Join(Application.Index(r.Value, 0#), vbTab)
 dic(ss) = Empty '一行パターンを辞書に登録
 Next
 End With
 
 '比較されて消される範囲
 With Range("B1:E10")
 .Interior.ColorIndex = xlNone
 For Each r In .Rows '行単位で調査
 '一行をTab区切り文字列に変換
 ss = Join(Application.Index(r.Value, 0#), vbTab)
 If dic.Exists(ss) Then
 r.Interior.ColorIndex = 6
 End If
 Next
 End With
 
 Set dic = Nothing
 
 End Sub
 
 
 |  |