You can accomplish that using code rather than VBA. The simplest method for a set list is to select Data Validation from the Data tab. Next, select "List" as your validation criteria under "Settings" and enter your three values (comma separated). By copying and pasting the formatting or by left-clicking and dragging the formatting, you can copy this to any cell.
If you really want to do it in VBA
Using the array
Sub CreateDropdownList()
' replace "A5:A12" with your named range if you have one
Range("A5:A12").Select ' range where you've listed your choices
' now sort them alphabetically, replace sheet1 with your sheetname
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A5"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Sheet1").Sort
' you can use your named range here as well
.SetRange Range("A5:A12")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Names.Add Name:="choices", RefersToR1C1:= _
"=Sheet2!R5C1:R12C1"
Range("G13").Select 'this is the cell you want the dropdown in
With Selection.Validation
.Delete
'without array
'.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
'xlBetween, Formula1:="IF, AND, OR"
'with array
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=choices"
.IgnoreBlank = True
.InCellDropdown = True
.InputMessage = "Select a value"
.ErrorMessage = "No value selected"
.ShowInput = True
.ShowError = True
End With
End Sub