Sub CopyDuplicates()
Application.ScreenUpdating = False
Dim a, r As Range, coll As New Collection, i As Long
Dim wb As Workbook, ws As Worksheet, wPath As String, wName As String, wFullName As String
'where is the data, where to save results
Set ws = ThisWorkbook.Sheets("Duplicates")
wPath = ThisWorkbook.Path
wName = "ExtractedDuplicates " & Format(Now, "yy mm dd hh mm")
wFullName = wPath & "\" & wName
Set r = ws.Range("A2", Range("A" & Rows.Count).End(xlUp))
'put values from column A in array
a = r.Value
'put unique values in collection
On Error Resume Next
For i = 1 To UBound(a)
If WorksheetFunction.CountIf(r, a(i, 1)) > 1 Then coll.Add a(i, 1), a(i, 1)
Next
On Error GoTo 0
'add workbook
Set wb = Workbooks.Add
'place unique values in column A
With wb.Sheets(1)
.Cells(1, 1) = "Values"
For i = 1 To coll.Count
.Cells(i + 1, 1) = coll(i)
Next
End With
'save and close
wb.SaveAs (wFullName)
wb.Close (True)
MsgBox wFullName & " created" & vbCr & coll.Count & " duplicates", vbOKCancel, "INFO"
Application.ScreenUpdating = True
End Sub