+ -
当前位置:首页 → 问答吧 → VBA_自定义菜单,绝对的有难度,请高手们帮忙。。。

VBA_自定义菜单,绝对的有难度,请高手们帮忙。。。

时间:2011-08-02

来源:互联网

VBA_自定义菜单,绝对的有难度,请高手们帮忙。。。

附件

VBA_自定义菜单,绝对的有难度,请高手们帮忙。。。.rar(27.13 KB)

2011-8-2 21:15, 下载次数: 8

作者: yjwdjfqb2   发布时间: 2011-08-02

可以将创建的自定义工具栏,分成两块独立的部分进行创建,当然这样也必须修改Workbook_Open的代码,见模块1:
Private Sub Worksheet_Activate()   '本页面的二个命令功能是让“我的工具箱”命令只允许在当前工作表中使用,如果没有这二条命令将在本工作薄的所有工作表中出现自定义的菜单栏(第一条)。
  On Error Resume Next
  CreateMyTools
  CreateMyButtons
End Sub

Private Sub Worksheet_Deactivate() '本页面的二个命令功能是让“我的工具箱”命令只允许在当前工作表中使用,如果没有这二条命令将在本工作薄的所有工作表中出现自定义的菜单栏(第二条)。
  On Error Resume Next
  CreateMyTools
End Sub
详见附件“VBA_自定义菜单un”

[ 本帖最后由 unsamesky 于 2011-8-2 22:05 编辑 ]

附件

VBA_自定义菜单un.rar(28.62 KB)

2011-8-2 22:00, 下载次数: 6

作者: unsamesky   发布时间: 2011-08-02

当不需要使用某个菜单时,屏蔽它:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim mypop As CommandBarPopup, mp As CommandBarControl
    Set mypop = Application.CommandBars("Worksheet menu bar").Controls("我的工具箱(&M)")
    For Each mp In mypop.Controls
        If mp.Caption <> "工作表切换" Then
            If Sh.Name <> "统计" Then mp.Enabled = False Else mp.Enabled = True
        End If
    Next
End Sub

作者: zhaogang1960   发布时间: 2011-08-02