Your macro should now look something like this
Sub colorformat(sh As Worksheet)
sh.Activate
End Sub
This is code that should be placed in a standard code module (Insert>Module)
in the VBE, not within the worksheet code module.
The other code should go in the ThisWorkbook code module as I mentioned. To
be doubly sure you could change it to
Private Sub Workbook_Open()
colorformat ThisWorkbook.Worksheets("Sheet3")
colorformat ThisWorkbook.Worksheets("Sheet5")
colorformat ThisWorkbook.Worksheets("Sheet6")
End Sub
although that shouldn't be absolutely necessary as it will be the active
workbook by virtue of being opened, but it does no harm.
I hope your colorformat macro will do more later, as activating one sheet
after another doesn't have a lot of point

.
--
HTH
RP
(remove nothere from the email address if mailing direct)