Assuming your list is stored in Column A, just enter the code below in the worksheet module.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range
Dim ValUnique As New Collection
Dim rStr As String
Dim i As Long
Application.Volatile
On Error Resume Next
For Each Cell In Range("A1:A7")
ValUnique.Add Cell.Value, CStr(Cell.Value)
Next Cell
For i = 1 To ValUnique.Count
rStr = rStr & "," & ValUnique.Item(i)
Next i
rStr = Right(rStr, Len(rStr) - 1)
Debug.Print rStr
With Range("C1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=rStr
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = False
.ShowError = False
End With
End Sub
Bookmarks