|
▼PePe さん:
>コードを書いたのですが、思った動作をしません、
> For k = 1 To LstR1
> For i = 1 To LstR2
> If .Cells(k, 1) <> Bk2.Sheets("sheet1").Cells(i, 1) Then
> Exit For
> End If
> Next i
↑この部分ですけど、For i = 1 To LstR2 で Bk2のシートをループして
見つからなかったときは i が LstR2 +1 になっているんじゃないですか
⇒ ここに BK1への転記が必要になる、と思う
> Next k
> If k > LstR2 Then
> Bk2.Sheets("sheet1").Cells(i, 1).Copy .Cells(Rows.Count, 1).End(xlUp).Offset(1)
> End If
と思ったけど、Bk1にないBk2のデータを Bk1 に転記したいんですよね?
そしたら、
For k = 1 to LstR2 ' Bk2のLoop
もし Bk2Sheet の.Cells(k,1) の値が 「Bk1になかったら」
Bk2Sheet の.Cells(k,1) の値を Bk1シートの最終行に転記
End If
Next
と方向を逆にする必要があるんじゃないですか?
あと、
あるか/ないか の「検索」は Findメソッドとか もっと効率の良い
方法がありますが。
|
|