These types of glitches can be hard to track down and it may be that it is bug in Excel VBA. Therefore I'm going to throw a two different suggestions to try. No guaranties that either will work. Note that I'm using the "ThisWorkBook" qualifier; it shouldn't be needed, but who knows.
1st: Make sure that the workbook is the active one.
Code:
Private Sub Workbook_Open()
ThisWorkbook.Activate
ThisWorkbook.Worksheets("Sheet1").Activate
End Sub
2nd: It may be a timing issue due to opening it from an attachment. Let's try running that code with a delay.
Code:
Private Sub Workbook_Open()
' schedule to run in 5 seconds
Call Application.OnTime(DateAdd("s", 5, now()), "ThisWorkbook.ActiveSheet1")
End Sub
Private Sub ActiveSheet1()
ThisWorkbook.Activate
ThisWorkbook.Worksheets("Sheet1").Activate
End Sub
Good luck.