| 
    
     |  | その部分は >  For Each C In Range("B1", Range("B65536").End(xlUp))
 >   If IsError(Application.Match(C.Value, Range("A:A"), 0)) Then
 >     Range("C65536").End(xlUp).Offset(1).Value = C.Value
 >   End If
 >  Next
 というコードで処理しているので、Match関数がエラー値を返すところは
 ちゃんとC列に転記できるはずなんですが・・。
 試しに
 
 Sub Check_Cnt()
 Dim C As Range
 Dim Cnt As Long
 
 For Each C In Range("B1", Range("B65536").End(xlUp))
 Cnt = WorksheetFunction.CountIf(Range("A:A"), C.Value)
 Debug.Print C.Value & " : " & Cnt
 Next
 End Sub
 
 を実行して、イミディエイトウィンドウで値とA列での一致数をチェック
 してみて下さい。一致数が 0 になっているものがあれば、以前のコードを
 
 >If IsError(Application.Match(C.Value, Range("A:A"), 0)) Then
 ↓
 If WorksheetFunction.CountIf(Range("A:A"), C.Value) = 0 Then
 
 というように変更して、やってみて下さい。
 あと、他の回答者のコードについても、ひとつづつエラーになった個所を
 指摘して答えをもらうようにして下さい。
 
 
 |  |