Sub AddNewNamesToList()
Dim X As Long, NextOldRow As Long, LastNewRow As Long, ColNum As Long, WS1 As Worksheet, WS2 As Worksheet
Const ExistingNamesColumn As String = "A"
Const NewNamesColumn As String = "B"
Set WS1 = Worksheets("Sheet1")
Set WS2 = Worksheets("Sheet2")
ColNum = Columns(ExistingNamesColumn).Column
NextOldRow = WS1.Cells(Rows.Count, ExistingNamesColumn).End(xlUp).Row + 1
LastNewRow = WS2.Cells(Rows.Count, NewNamesColumn).End(xlUp).Row
Application.ScreenUpdating = False
With WS2.Range(NewNamesColumn & "1:" & NewNamesColumn & LastNewRow)
.Copy WS1.Cells(NextOldRow, ExistingNamesColumn)
WS1.Cells(NextOldRow, ExistingNamesColumn).Offset(, 1).Resize(LastNewRow).FormulaR1C1 = "=IF(COUNTIF(R1C" & ColNum & ":R[-1]C" & ColNum & ",RC1),""X"","""")"
End With
With WS1.Columns(ExistingNamesColumn).Offset(, 1)
.Value = .Value
On Error Resume Next
.SpecialCells(xlConstants).Offset(, -1).Delete xlShiftUp
On Error GoTo 0
.Clear
End With
Application.ScreenUpdating = True
End Sub