建议将每一个工作表的Activate事件,在Thisworkbook里面写成WorkBook_SheetActivate事件。
类似于如下格式:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim mc As CommandBarControl
For Each mc In Application.CommandBars(1).Controls("我的工具箱(&M)").Controls
mc.Visible = False
Next
Select Case ActiveSheet.Name
Case "统计": GoSub s0: GoSub s1: GoSub s3: GoSub s5
Case "班级": GoSub s0: GoSub s4
Case "成绩": GoSub s7
Case "姓名": GoSub s0: GoSub s6
Case "名次": GoSub s2
Case Else: GoSub s0
End Select
猜到楼主由此一问:
Dim mc As CommandBarControl
Application.CommandBars(1).Controls("我的工具箱(&M)").visible = True '一共修改两个地方的代码:1.这里增加一行代码
For Each mc In Application.CommandBars(1).Controls("我的工具箱(&M)").Controls
mc.Visible = False
Next
Select Case ActiveSheet.Name
Case "统计": GoSub s0: GoSub s1: GoSub s3: GoSub s5
Case "班级": GoSub s0: GoSub s4
Case "成绩": GoSub s7
Case "姓名": GoSub s0: GoSub s6
Case "名次": GoSub s2
Case Else: Application.CommandBars(1).Controls("我的工具箱(&M)").visible = False '2.这里修改一行代码,未测试,上班去了!!!!!!
End Select