如何用vba在單元格右鍵快捷菜單中添加自定義的菜單命令

 

如下圖所示,當鼠標右鍵單擊excel工作表中的單元格時,將會彈出單元格右鍵快捷菜單。

1

雖然從excel 2007開始 微軟引進了ribbon 功能區來代替excel 常規菜單欄,但是像上圖所示的鼠標右鍵快捷菜單還有很多沒有被替代。

vba 中提供了給菜單增加自定義命令的功能。可以用CommandBar對象獲取指定的菜單命令欄,然後用CommandBar對象的Controls屬性獲取所有的命令按鈕集合,最後用新增集合元素的方法添加新的菜單命令。
比如以下代碼可以在上圖所示的單元格右鍵快捷菜單中添加自定義的菜單命令。當單擊新增的“測試”菜單命令時,將會執行“lyq”子過程。

Visual Basic

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Sub xyf()

    Dim objCB As CommandBar

    '獲取單元格右鍵快捷菜單命令欄

    Set objCB = Excel.Application.CommandBars("Cell")

    Dim oCBC As CommandBarControl

    With objCB

        .Reset

        '往單元格右鍵快捷菜單中新增菜單命令

        Set oCBC = .Controls.Add(before:=1)

        With oCBC

            '指定單擊新增的命令時執行的子過程名稱

            .OnAction = "lyq"

            .Caption = "測試"

        End With

    End With

End Sub

Sub lyq()

    MsgBox 1

End Sub

如圖所示

2

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章