| 
    
     |  | ▼daisuke さん: 
 Dictionaryを使ってみてはいかが?
 まだ、色付けは考えてません。
 
 Sub Try1()
 Dim dic As Object
 Dim v
 Dim i&
 Dim r As Range
 
 '----シート1 A列をきーとして対応するB列を辞書に記憶
 Set dic = CreateObject("Scripting.Dictionary")
 v = Worksheets(1).Range("A1").CurrentRegion.Resize(, 2).Value
 For i = 1 To UBound(v)
 dic(v(i, 1)) = v(i, 2)
 Next
 
 '---- シート2
 With Worksheets(2)
 Set r = .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
 End With
 v = r.Value 'C列の値
 For i = 1 To UBound(v)
 If dic.Exists(v(i, 1)) Then '辞書にあったら値に置換
 v(i, 1) = dic(v(i, 1))
 End If
 Next
 r.Value = v '書き戻す
 End Sub
 
 文字色を変えるなら、
 Sub Try2()
 Dim dic As Object
 Dim v
 Dim i&
 Dim r As Range, c As Range
 
 '----シート1 A列をきーとして対応するB列を辞書に記憶
 Set dic = CreateObject("Scripting.Dictionary")
 v = Worksheets(1).Range("A1").CurrentRegion.Resize(, 2).Value
 For i = 1 To UBound(v)
 dic(v(i, 1)) = v(i, 2)
 Next
 
 '---- シート2
 With Worksheets(2)
 Set r = .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
 End With
 For Each c In r
 If dic.Exists(c.Value) Then '辞書にあったら値に置換
 c.Value = dic(c.Value)
 c.Font.Color = vbRed
 End If
 Next
 End Sub
 といった感じですかね
 
 |  |