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

2025-04-22 16:57:38

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

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

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

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

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

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

4、在模块当中输入如下代码,然后运行Sub Auto_Open()Dim BarCtl幞洼踉残Btn As CommandBarButton &#泌驾台佐39;*********建立菜单按钮*************** With Application.CommandBars("Worksheet Menu Bar").Controls .Add(Type:=msoControlButton) .Style=msoButtonIconAndCaption '有图标和文字 .Caption="建立目录" .FaceId=481 .OnAction="Create_contents" End WithEnd SubSub Create_contents() '建立目录On Error Resume NextApplication.CommandBars("Worksheet Menu Bar").Controls("工作表目录").DeleteDim Sh As Worksheet'添加新菜单With Application.MenuBars(xlWorksheet).Menus.Add("工作表目录") '建立新菜单'新菜单开始新组并添加文字提示Set myMenuBar=CommandBars.ActiveMenuBarSet 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 WithApplication.CommandBars("Worksheet Menu Bar").Controls("建立目录").Visible=FalseCall groupEnd SubSub into() '进入工作表 Dim Item As MenuItem Sheets(Application.CommandBars.ActionControl.Caption).Select '加选择框With Application.MenuBars(xlWorksheet).Menus("工作表目录") For Each Item In .MenuItems Item.Checked=FalseNext Item.MenuItems(Application.CommandBars.ActionControl.Caption).Checked=TrueEnd WithEnd SubSub f5()Call Create_contentsEnd SubSub group() '为菜单设置图标Dim Y As ByteY=Application.CommandBars("Worksheet Menu Bar").Controls("工作表目录").Controls.CountWith Application.CommandBars("Worksheet Menu Bar").Controls("工作表目录").Controls(1).FaceId=176.Controls(2).BeginGroup=True.Controls(Y).BeginGroup=True.Controls(Y).FaceId=481If .Controls(2).Caption="工作表目录" Then .Controls(2).Delete' End IfEnd WithEnd SubSub auto_close() '关闭工作表时删除菜单Application.CommandBars(1).ResetEnd Sub

怎样使用VBA建立菜单式工作表目录
怎样使用VBA建立菜单式工作表目录
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢