| 
    
     |  | ▼MARUMO さん: 
 >>1. SheetA の複製を作り(SheetA'とする)
 >>2. SheetBの型番を上から順に見ていって SheetA'になかったら、
 >>  SheetA'の最終行+1行にコピーして追加。
 >>3. 最後にもとのSheetB を削除して SheetA' を SheetB に改名。
 
 参考まで(というか、自分のメモ)です。
 
 Sub Try3()
 Dim newBook As Workbook
 Dim A As Worksheet
 Dim B As Worksheet
 Dim r As Range, q As Range, c As Range
 
 Set B = Worksheets("db")
 Worksheets("wk").Copy    '複製を作成(newBook)
 Set newBook = ActiveWorkbook
 Set A = newBook.Worksheets(1)
 With A
 Set q = .Cells(.Rows.Count, "D").End(xlUp) '最終セル
 Set r = .Range("D2", q)
 Set q = q.EntireRow.Range("A1")
 End With
 '[B]の型番が[A]になければ [A]の最終行+1に追加Copyする
 For Each c In B.Range("D2", B.Cells(Rows.Count, "D").End(xlUp))
 If WorksheetFunction.CountIf(r, c) = 0 Then
 Set q = q.Offset(1)
 c.EntireRow.Copy q
 End If
 Next
 'このあと newBookに名前をつけて保存
 
 End Sub
 
 
 |  |