The line you used will return just a cell range like "$A$1:$B$15". It does not include a reference to the sheet. The best way to solve this is to bring up the form editor, right click on the listbox, select Properties, then in RowSource type ListBoxNames (no quotes). It looks like you always want to use the same named range so this is sufficient. You don't have to load it every time the form activates.
You must be sure that the named range has a scope of Workbook. That's the default and it probably is unless you have used the same name for ranges on more than one worksheet.
Just for reference, if you want to do it in code, then
Just for future reference, if you ever need a string that looks like "DataSheet!$A$1:$B$15" then you would use
Bookmarks