|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
将OnAction的值直接写过程名:
- Option Explicit
- '定义添加单元格菜单函数
- Public Sub addcellMenu()
- Dim custMenu As CommandBar
- Dim subMenu As CommandBarControl '定义PopupMenu
- deletecellMenu '调用deletecellMenu函数
- Set custMenu = Application.CommandBars("cell")
- Set subMenu = custMenu.Controls.Add(msoControlPopup, , , 1) '创建Popup按钮
- With subMenu '对Popup按钮设置Caption(文字描述)
- .Caption = "Tools"
- With .Controls.Add(msoControlButton) 'Popup按钮添加子按钮
- .Caption = "第一个子菜单"
- .OnAction = "insertyfm" '指定时间对应的宏(函数)Clean_up
- .FaceId = 164 '设置图标
- End With
- With .Controls.Add(msoControlButton)
- .Caption = "第二个子菜单"
- .OnAction = "adddate"
- .FaceId = 165
- End With
- With .Controls.Add(msoControlButton)
- .Caption = "第三个子菜单"
- .OnAction = "thredsubmenu"
- .FaceId = 166
- End With
- End With
- Set subMenu = Nothing '将创建的对象subMenu设置为Nothing
- Set custMenu = Nothing
- End Sub
- '将选中单元格内容转化为百分比
- Public Sub adddate()
- Dim item As Variant
- For Each item In Selection
- item.Value = "第二个子菜单"
- Next
- End Sub
- '定义Clean_up函数清空选中区域的格式和内容
- Public Sub insertyfm()
- Dim item As Variant
- For Each item In Selection
- item.Value = "第一个子菜单"
- Next
- End Sub
- Public Sub thredsubmenu()
- Dim item As Variant
- For Each item In Selection
- item.Value = "第三个子菜单"
- Next
- End Sub
- '定义清除单元格控件Tools函数,保证如果之前如果已经添加Tools按钮
- '那么会先清除之前的Tool按钮
- Public Sub deletecellMenu()
- On Error Resume Next
- Application.CommandBars("cell").Controls("Tools").Delete
- On Error GoTo 0
- End Sub
复制代码
|
|