Range "A2:D" is not a valid range reference.
Try something like this...
Dim vListItems As Variant
' turn screen updating off,
' prevent the user from seeing the source workbook being opened
Application.ScreenUpdating = False
' open the source workbook as ReadOnly
With Workbooks.Open("C:\ICO\ICO_Import_template.xls", False, True)
With .Worksheets(1)
'Range A2 to last used row in column D
vListItems = .Range("A2", .Range("D" & Rows.Count).End(xlUp)).Value
End With
.Close False ' close the source workbook without saving changes
End With
With Me.ListBox2
.Clear ' remove existing entries from the listbox
.ColumnCount = 4
.ColumnWidths = "50;60;50;40" 'adjust to suit
.List = vListItems
.ListIndex = -1 ' no items selected, set to 0 to select the first item
End With
Application.ScreenUpdating = True
Bookmarks