|
▼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
|
|