| 
    
     |  | ▼kanabun さん: >上をコードにすると、こんな風です。
 >
 >Sub Test更新1()
 >  Dim A As Worksheet, B As Worksheet
 >  Dim c As Range, r As Range
 >  Dim m
 >
 >  Set A = Worksheets("SheetA")
 >  Set B = Worksheets("SheetB")
 >  Set r = B.Range("A2", B.Cells(B.Rows.Count, 1).End(xlUp))
 >  For Each c In A.Range("A2", _
 >             A.Cells(A.Rows.Count, 1).End(xlUp))
 >    m = Application.Match(c, r, 0)
 >    If IsNumeric(m) Then
 >      A.Rows(c.Row).Copy r(m)  '既存データ更新(上書き)
 >    Else
 >                   '新規データ追加
 >      A.Rows(c.Row).Copy _
 >       B.Cells(B.Rows.Count, 1).End(xlUp).Offset(1)
 >    End If
 >  Next
 >End Sub
 
 ありがとうございました。
 思っていた通りの事ができました。
 検証用に、
 SheetAに1つの型番(X型番)で10件のデータを用意しました。
 追加されたデータは、10×4(4倍)の40件がSheetBにコピーされています。
 何故4倍なのか???
 X型番はSheetBに10件(削除できていない)準備していましたので
 50件になりました。
 
 |  |