| 
    
     |  | ギン さん、こんばんわ。 
 >検索値自体が違っていました。
 >このように違う検索値がある場合の回避はどのようにしたら宜しいでしょうか?
 On Error で分岐するか、CountIfでチェックしてエラーを回避するか...。
 
 CountIfで回避してみましょう。
 
 Sub test()
 '↓ためし用
 r = 5
 rEnd = 10
 '
 For n = r To rEnd 'rは最初の行でrEndは最後の行です。
 If Application.WorksheetFunction.CountIf(Worksheets("区分") _
 .Range("A2:A700"), Cells(n, 2).Value) = 0 Then
 'なかった
 Cells(n, 1).Value = "#N/A"
 Else
 'あった
 Cells(n, 1).Value = Application.WorksheetFunction.VLookup( _
 Cells(n, 2), Worksheets("区分").Range("A2:AZ700"), 2, 0)
 End If
 Next n
 End Sub
 
 ところで、VLOOKUPでないとだめですか?
 
 Sub test()
 Dim r1 As Range
 '↓ためし用
 r = 5
 rEnd = 10
 'チェックするのはB列,検索結果を入れるのはA列だとして
 For n = r To rEnd 'rは最初の行でrEndは最後の行です。
 'B列の内容を完全一致で検索
 On Error Resume Next
 Set r1 = Worksheets("区分").Range("A2:AZ700").Find( _
 what:=Cells(n, 2).Value, LookAt:=xlWhole)
 On Error GoTo 0
 '結果分岐(結果はA列)
 With ActiveSheet.Cells(n, 1)
 If r1 Is Nothing Then
 .Value = "#N/A"
 Else
 .Value = r1.Offset(0, 1).Value 'B列から取得
 End If
 End With
 Set r1 = Nothing '開放
 Next n
 End Sub
 
 こんな感じです。
 
 
 |  |