| 
    
     |  | ▼daisuke さん: >お答えありがとうございます。
 >うまくいきましたが完全一致のみなのでしょうか
 >シート2のセル内には M 予定 など文字が入っています。
 >M ×× → みかん ×× 部分一致で置換したいのです。
 >ちなみにセルの書式は文字列です。
 >何度もすいません。
 >よろしくお願いすいます。
 
 じゃ、セルの「最初の一文字が」Mとかだったら、
 と考えればいいのでは?
 
 Sub Try2b()
 Dim dic As Object
 Dim v
 Dim i&
 Dim r As Range, c As Range
 Dim s As String '◆追加
 
 '----シート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
 s = Left$(c.Value, 1)  '先頭一文字が
 If dic.Exists(s) Then  '辞書にあったら値に置換
 c.Value = dic(s)
 c.Font.Color = vbRed
 End If
 Next
 End Sub
 
 |  |