|
その部分は
> 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
というように変更して、やってみて下さい。
あと、他の回答者のコードについても、ひとつづつエラーになった個所を
指摘して答えをもらうようにして下さい。
|
|