If you are working extensively with all the type of sheets (Worksheets, Charts, Modules / Macro, Dialog sheets) and playing with macros or VBA code then it is very important that you know the difference between Worksheets and Sheets Properties in Excel.
Primary difference between these two is Worksheets property identifies only the type "Worksheets" in excel but Sheets is more general and identifies all the types of sheets (Worksheets, Charts, Modules / Macro, Dialog sheets).
To test this and understand the concept clearly, just open a new workbook (default it displays Sheet1, Sheet2 and Sheet3) . Insert a dialog sheet Dialog1, Chart Sheet Chart1 and Macro Sheet Macro1 in the workbook (order of the sheets now is Dialog1, Chart1, Macro1, Sheet1, Sheet2 and Sheet3). Now go to the VB Editor and play around with the below code commenting the necessary lines.
[vba]
Sub TestSheetsWorksheets()
Worksheets(1).Activate 'Activates Sheet1
Worksheets(2).Activate 'Activates Sheet2
Worksheets(3).Activate 'Activates Sheet3
Worksheets(4).Activate 'Throws error "Run Time Error '9': Subscript out of range"
Worksheets(5).Activate 'Throws error "Run Time Error '9': Subscript out of range"
Worksheets(6).Activate 'Throws error "Run Time Error '9': Subscript out of range"
Sheets(1).Activate 'Activates Dialog1
Sheets(2).Activate 'Activates Chart1
Sheets(3).Activate 'Activates Macro1
Sheets(4).Activate 'Activates Sheet1
Sheets(5).Activate 'Activates Sheet2
Sheets(6).Activate 'Activates Sheet3
End Sub
[/vba]
So, next time when you see "Run Time Error '9': Subscript out of range" while you are using Worksheets in the code just take a look at the type of the sheet apart from the number of sheets. You might fix the problem in a second.