There is a reason for highlight the words "same type" because index number
varies depending on the type of property you use for identifying sheets as explained
in the article
Difference between WorkSheets and Sheets.
So, if you have Dialog1, Chart1, Macro1, Sheet1 in a sequence in workbook then "Worksheets(1).Activate"
, "Charts(1). Activate" and "Sheets(1).Activate" will activate
different sheets though their index number is same since the sheets are of different
type. It is confusing right. This is the main reason why Sheet Name makes more
sense to use for refering a Sheet rather than index number. Also, if you move,
add or delete sheets from the workbook index order changes and this creates more
mess while coding if there are lot of sheets. Specially if you maintaining big
workbooks with lots of macros involving index numbers, this will be a nightmare.
Though Sheets("Sheet1"). Activate is better than index numbers it is still
not the best because if you have more numbers of sheets it will be very difficult
for you to remember the type of content in each sheet. So, the best is to rename
the default sheet name to some name that represents the content of the sheet
and use it in the code. To present this as an example:
Sheets(1).Activate -> Creates Confusion
Sheets("Sheet1").Activate -> Better than the above but not the best
Sheets("Sales").Activate -> Best of all ("Sales" represent a functional name for the content in Sheet1)