| 
    
     |  | ▼PePe さん: >kanabunさん…find関数の素晴らしさを体験しました、
 厳密にいうと RangeオブジェクトのFindメソッド です。
 
 ワークシート関数で思い出したのですが、
 Findメソッドの代わりに ワークシート関数のCountIf を使っても
 同じことができますね
 
 With Bk1.Worksheets("sheet1")
 LstR1 = .Cells(Rows.Count, 1).End(xlUp).Row
 Set r1 = .Range("A1:A" & LstR1)
 LstR2 = Bk2.Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
 'Bk2シートA列をLoop
 For Each r2 In Bk2.Sheets("Sheet1").Range("A1:A" & LstR2)
 v = r2.Value
 'Bk2シートA列のあるセル値が、Bk1側にあるか調べる
 If WorksheetFunction.CountIf(r1, v) = 0 Then '◆ ここ
 '↓無かった時の処理
 LstR1 = LstR1 + 1
 .Cells(LstR1, 1).Value = v
 End If
 Next r2
 End With
 
 
 |  |