Because in Excel there is no such thing as a "Sheet".
, SheetActivate, WorksheetActivate - "" , , "". Excel Sheet - Workbook.Sheets , Chart Worksheet.
Sh SheetActivate Object, Chart a Worksheet.
, , : , , Chart Worksheet.
TypeName , , , TypeOf:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If TypeOf Sh Is Excel.Worksheet Then
Debug.Print "Worksheet!"
ElseIf TypeOf Sh Is Excel.Chart Then
Debug.Print "Chart!"
Else
Debug.Print "Something else!"
End If
End Sub
Object "" , IWorkbookEvents, Workbook.