A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Hi Pete
As HansV says, you can not refer to a list in another workbook.
The one way to solve this is to build a list in a variable based on the content of the range in the master workbook. The only thing is that you have to update all validation lists if the list in MasterBook is changed!
Dim Master as Workbook
Dim ListRng As Range
Dim MyList As String
Set Master=Workbooks("MasterBook.xlsm")
Set ListRng = Master.Range("f1:f4")
For Each cell In ListRng
MyList = MyList & cell.Value & ","
Next
MyList = Left(MyList, Len(MyList) - 1)
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=MyList
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With