Sub CreateValidationList()
Dim lr As Long
Dim r As Long
Dim FormulaBuilder As String
Dim vldRng As Range
' Set cell that you want to put this validation list in
Set vldRng = Range("C2")
' Find last row with data in column A
lr = Cells(Rows.Count, "A").End(xlUp).Row
' Loop through all rows, starting in row 2
For r = 2 To lr
If Cells(r, "A") <> "" Then
FormulaBuilder = FormulaBuilder & Cells(r, "A") & ","
End If
Next r
' Strip off ending comma
FormulaBuilder = Left(FormulaBuilder, Len(FormulaBuilder) - 1)
' Place cell validation
With vldRng.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=FormulaBuilder
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub