Paste the below code in module and run it.
Option Explicit
Sub data_validation_with_unique_values()
Dim clctn As New Collection
Dim arr As Variant
Dim i As Integer
Dim distinct() As String
'Fill values from your range into array
arr = Application.Transpose(
Sheet1.Cells(1, 1).CurrentRegion.Resize(, 1).Value)
'Create a list of unique
On Error Resume Next
For i = LBound(arr) To UBound(arr)
clctn.Add arr(i), arr(i)
Next i
On Error GoTo 0
ReDim distinct(1 To clctn.Count)
For i = 1 To clctn.Count
distinct(i) = clctn(i)
Next
'Paste unique values in column E
Sheet1.Cells(1, 5).Resize(clctn.Count).Value = Application.Transpose(distinct)
'Give a name range to your list in column E
Range(
"E1:E" & Range("E65536").End(xlUp).Row).Name = "Myrange"
'Create data validation list in active cell using named range
ActiveCell.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=Myrange"
End Sub
Note: Change the highlighted part as per your requirement.