|
▼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
|
|