Selected Answer
Semaj
In the attached file, I set our VBA sheet CodeNames ( to "wsTasks", "wsAction", "wsDependency") as they were added. In Module1, I changed your code to use .Name property (and removed the quotation marks (") to give this working code:
Sub CopySheetsByCodeName()
Sheets(Array(wsTasks.Name, wsAction.Name, wsDependency.Name)).Copy
End Sub
Now the user can change the worksheet names e.g from "Teach", "Excel", "Demo" to whatever (or alter their sequence) and the code will still copy those sheets.
I assume you will prevent the user opening the file without macros-enabled and wil prevent them from deleting any of these sheets (if not, you'll find methods in the Tutorials section).
Hope this is what you anted. If so, please mark this Answer as Selected.