| 
    
     |  | 後、ついでですが? 
 もし、Book1のA列とBook2のA列が共に昇順整列されているなら
 もう少し速くする事が出来ます
 
 尚、A列の値が半角英数以外の文字が入るなら
 モジュール先頭に以下のコードを記述して下さい
 (Excelの整列順とVBAの整列順が違う為)
 
 Option Explicit
 Option Compare Text 'これ
 
 
 Sub Test_2()
 
 '  Dim i As Integer, k As Integer
 Dim i As Long, k As Long
 Dim LstR1 As Long, LstR2 As Long, Bk1 As Workbook, Bk2 As Workbook
 Dim lngAppend As Long, lngStart As Long
 
 Set Bk1 = ThisWorkbook
 Set Bk2 = Workbooks.Open(ThisWorkbook.Path & "\Book2.xlsx")
 
 With Bk1.Worksheets("sheet1")
 LstR1 = .Cells(Rows.Count, 1).End(xlUp).Row
 lngAppend = LstR1 + 1
 LstR2 = Bk2.Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
 lngStart = 1
 For i = 1 To LstR2
 For k = lngStart To LstR1
 If .Cells(k, 1).Value = Bk2.Sheets("sheet1").Cells(i, 1).Value Then
 Exit For
 End If
 Next k
 If k > LstR1 Then
 Bk2.Sheets("sheet1").Cells(i, 1).Copy .Cells(lngAppend, 1)
 lngAppend = lngAppend + 1
 Else
 lngStart = k + 1
 End If
 Next i
 End With
 
 Bk2.Close True
 Bk1.Save
 
 End Sub
 
 
 |  |