| 
    
     |  | ▼hama さん: 
 こんにちは〜
 ○○の一つ覚えですが、Dictionaryを使った方法です。
 
 Sub Try1()
 Const CLSID_DataObject = "1C3B4210-F441-11CE-B9EA-00AA006B1A69"
 Dim i As Long
 Dim u, v
 Dim r As Range
 Dim dic As Object
 Set dic = CreateObject("Scripting.Dictionary")
 
 'Sheet2の表をコピーして辞書に登録します
 With Worksheets("Sheet2")
 With .Range("A1").CurrentRegion
 .Resize(, 2).Copy 'A,B列をTABで連結文字列にする
 v = .Columns(3).Value 'C列の記号
 End With
 End With
 With GetObject("new:" & CLSID_DataObject)
 .GetFromClipboard
 u = Split(.GetText, vbCrLf)
 End With
 For i = 0 To UBound(u) - 1
 dic(u(i)) = v(i + 1, 1) '例 dic("さ" & vbTab & "た") = "●"
 Next
 
 'Sheet1のA+B列データが辞書にあるか検索
 With Worksheets("Sheet1")
 With .Range("A1").CurrentRegion
 .Resize(, 2).Copy 'A,B列をTABで連結文字列にする
 Set r = .Columns(3).Cells
 v = r.Value 'C列の記号
 End With
 End With
 With GetObject("new:" & CLSID_DataObject)
 .GetFromClipboard
 u = Split(.GetText, vbCrLf)
 End With
 Application.CutCopyMode = True
 For i = 0 To UBound(u) - 1
 If dic.Exists(u(i)) Then
 v(i + 1, 1) = dic(u(i)) ' "☆" ← dic("あ" & vbTab & "か")
 Else
 v(i + 1, 1) = "×"
 End If
 Next
 r.Value = v
 
 End Sub
 
 Dictionary(辞書)というのは メモリ上のLOOKUP表のことで、
 今回のケースでは Sheet2の表を
 A列データとB列データをTAB記号で区切って連結した文字列を キーとし、
 対応するデータ(アイテムと言います)に C列の記号をという組データを
 登録しておきます。
 そして Sheet1 の A列+TAB+B列 文字列がDictionaryのキーに登録してあれば
 >    If dic.Exists(u(i)) Then
 で、True が返ってきますから、辞書内の u(i) キーに対応する アイテムを
 C列用配列にコピーしていき(辞書になければ そこは × を代入し)
 最後にまとめてシートのC列に配列を貼り付けます。
 
 
 |  |