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