I had something similar to this to do just last week. I turned on Macro Record, performed the desired functions directly and was able to modify the code easily for programmable extension.

Sheetx = sheet to be copied or moved
BookY = workbook to be copied or moved to

looping through your list selection...
VB Code:
  1. Sheets("Sheetx").Copy After:=Workbooks("BookY").Sheets(1)
'select the workbook that received the new sheet.
VB Code:
  1. Windows("BookY").Activate
'save workbook(Y) in file path
VB Code:
  1. ActiveWorkbook.SaveAs Filename:="D:\My Docs\BookY.xls", FileFormat:= _
  2.         xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
  3.         , CreateBackup:=False
next loop