Hi,
Thanks to all. I've decided to use the following, (which works on my test form at least!)
MD
Function Arr(MySet As String) Select Case MySet Case Is = "A" Arr = Array("A", "B", "C", "D") Case Is = "B" Arr = Array("E", "F", "G", "H") Case Is = "C" Arr = Array("I", "J", "K", "L") End Select End Function Private Sub UserForm_Initialize() For Each A In Arr("B") ListBox1.AddItem A Next End Sub