Given the lack of detail in your post, this solution will be somewhat generic.
The Worksheets collection will allow you to process as many worksheets as you wish. Using the For Each statement, build an array of worksheet names. If the name does not already contain the appropriate date information, modify the name in the array with that data (probably extracted from the worksheet itself).
Sort the array in descending order.
Loop through the array in order. For each name, execute a statement of the form
Worksheets("name").move before:=worksheets(1)
If you had to adjust the name to include date information, re-adjust the name back to its original form before executing the move.