dictionaryというのを使ってみました。
A列の内容をdictionaryに入れ(この段階で重複カット)
B列の内容をdictionaryと照合して、含まれないものがあればA列の
既存データの下に追加します。
詳しくはVBA dictionaryで検索してみてください。
Sub dic_test()
Dim myDic As Object, myKey As Variant
Dim originalTable As Range, refTable As Range
Dim i As Long, j As Long
Set myDic = CreateObject("Scripting.Dictionary")
Set refTable = Range("A1", Range("A" & Rows.Count).End(xlUp))
With refTable
For i = 1 To .Rows.Count
If Not myDic.exists(.Cells(i, 1).Value) Then
myDic.Add .Cells(i, 1).Value, ""
End If
Next i
End With
Set originalTable = Range("B1", Range("B" & Rows.Count).End(xlUp))
j = 1
With originalTable
For i = 1 To .Rows.Count
If Not myDic.exists(.Cells(i, 1).Value) Then
Cells(refTable.Rows.Count + j, 1).Value = .Cells(i, 1).Value
j = j + 1
End If
Next i
End With
Set myDic = Nothing
End Sub