怎样使用VBA建立菜单式工作表目录?

 时间:2026-02-13 06:23:23

1、首先在开发工具中打开VBA编辑器

怎样使用VBA建立菜单式工作表目录?

2、在单元格区域当中输入一些内容作为例子

怎样使用VBA建立菜单式工作表目录?

3、在VBA编辑器中插入模块

怎样使用VBA建立菜单式工作表目录?

4、在模块当中输入如下代码,然后运行

Sub Auto_Open()


Dim BarCtlBtn As CommandBarButton
  '*********建立菜单按钮***************
    With Application.CommandBars("Worksheet Menu Bar").Controls
          .Add(Type:=msoControlButton)
          .Style=msoButtonIconAndCaption '有图标和文字
          .Caption="建立目录"
          .FaceId=481
          .OnAction="Create_contents"
      End With
End Sub
Sub Create_contents() '建立目录
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("工作表目录").Delete
Dim Sh As Worksheet
'添加新菜单
With Application.MenuBars(xlWorksheet).Menus.Add("工作表目录") '建立新菜单
'新菜单开始新组并添加文字提示
Set myMenuBar=CommandBars.ActiveMenuBar
Set lastctrl=myMenuBar.Controls(myMenuBar.Controls.Count)
  lastctrl.BeginGroup=True                                '开始新组
  lastctrl.TooltipText="建立工作表目录,单击可链接至相应工作表。"  '文字提示
'添加子菜单
For Each Sh In ActiveWorkbook.Sheets
 .MenuItems.Add Sh.Name, "into"          '添加子菜单,与工作表数目相同
  Next
.MenuItems.Add "请选择工作表名", "", , 1          '1表示移至第1个控件之前
.MenuItems.Add "刷新菜单目录", "f5"
End With
Application.CommandBars("Worksheet Menu Bar").Controls("建立目录")
.Visible=False
Call group
End Sub
Sub into() '进入工作表
  Dim Item As MenuItem
  Sheets(Application.CommandBars.ActionControl.Caption).Select
  '加选择框

With Application.MenuBars(xlWorksheet).Menus("工作表目录")


    For Each Item In .MenuItems
      Item.Checked=False
Next Item
.MenuItems(Application.CommandBars.ActionControl.Caption).Checked=True
End With
End Sub
Sub f5()
Call Create_contents
End Sub
Sub group() '为菜单设置图标
Dim Y As Byte
Y=Application.CommandBars("Worksheet Menu Bar").Controls("工作表目录").
Controls.Count
With Application.CommandBars("Worksheet Menu Bar").Controls("工作表目录")
.Controls(1).FaceId=176
.Controls(2).BeginGroup=True
.Controls(Y).BeginGroup=True
.Controls(Y).FaceId=481
If .Controls(2).Caption="工作表目录" Then .Controls(2).Delete

'  End If


End With
End Sub
Sub auto_close() '关闭工作表时删除菜单
Application.CommandBars(1).Reset
End Sub

怎样使用VBA建立菜单式工作表目录?

5

怎样使用VBA建立菜单式工作表目录?

  • 图示EXCEL表格vba系列66之vbNo点击否按钮返回值
  • 在VBA中,自动保存数据(2)?
  • 怎样使用VBA统计字符在选区中的重复次数?
  • foxmail如何启用热键显示/隐藏主界面功能
  • 卡里多了钱怎么查来源
  • 热门搜索
    诚信手抄报图片大全 2020清明节手抄报 法制教育手抄报图片 清明节手抄报简单漂亮 鲁滨逊漂流记手抄报 最漂亮的劳动节手抄报 春节里的数学手抄报 安全小报手抄报 建国手抄报文字内容 卫生小常识手抄报