Note: The other languages of the website are Google-translated. Back to English

如何在Excel的右鍵單擊/上下文菜單中添加自定義按鈕?

如下面的屏幕截圖所示,許多人傾向於將其常用功能添加到Excel的右鍵單擊菜單中,以便將來僅需單擊一下即可快速使用這些功能。 本文討論的是在Excel的右鍵菜單中添加自定義代碼按鈕。

使用VBA代碼將自定義按鈕添加到Excel中的上下文菜單


使用VBA代碼將自定義按鈕添加到Excel中的上下文菜單

假設您已經在Excel中創建了一個名為MyMacro的VBA腳本,現在您需要將此功能添加到上下文菜單中,以通過單擊該代碼來運行代碼。 請執行以下操作。

1。 按 其他 + F11 同時打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,雙擊 的ThisWorkbook 在左邊 專案 窗格。 然後將以下VBA代碼複製並粘貼到 本工作簿(代碼) 窗口。

VBA代碼:將自定義按鈕添加到Excel中的上下文菜單

Private Sub Workbook_Deactivate()
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
        End With
    On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cmdBtn As CommandBarButton
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
            Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
        End With

        With cmdBtn
           .Caption = "MyMacro"
           .Style = msoButtonCaption
           .OnAction = "MyMacro"
        End With
    On Error GoTo 0
End Sub

備註:在代碼中,請全部替換 “ MyMacro” 使用您在Excel中創建的宏名稱。

3。 按 其他 + Q 退出鍵 Microsoft Visual Basic for Applications 窗口。

現在返回Excel界面,右鍵單擊單元格,您將看到帶有指定名稱的新按鈕被添加到右鍵單擊菜單中,如下圖所示。 單擊該按鈕將立即觸發相應的宏。


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (15)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
將 VBA 按鈕添加到上下文菜單效果很好。 謝謝。 如何添加更多按鈕? (不擅長 VBA,因此提出了問題)。
網站主持人對此評論進行了最小化
嗨,維克
以下 VBA 代碼可以幫助您解決問題,請嘗試一下。

私人子Workbook_Deactivate()
將 xArrB 調暗為變體
將 xFNum 調暗為整數
將 xStr 調暗為字符串
在錯誤恢復下一頁
與應用程序
xArrB = Array("MyMacro01", "MyMacro02", "MyMacro03")
對於 xFNum = 0 到 UBound(xArrB)
xStr = xArrB(xFNum)
.CommandBars("Cell").Controls(xStr).Delete
下一個 xFNum
結束
在錯誤轉到0
END SUB

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh 作為對象,ByVal 目標作為範圍,取消作為布爾值)
將 cmdBtn 調暗為 CommandBarButton
將 xArrB 調暗為變體
將 xFNum 調暗為整數
將 xStr 調暗為字符串
在錯誤恢復下一頁
xArrB = Array("MyMacro01", "MyMacro02", "MyMacro03")
對於 xFNum = 0 到 UBound(xArrB)
xStr = xArrB(xFNum)
與應用程序
.CommandBars("Cell").Controls(xStr).Delete
設置 cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
結束
使用 cmdBtn
.Caption = xStr
.Style = msoButtonCaption
.OnAction = xStr
結束
下一個 xFNum
在錯誤轉到0
END SUB
網站主持人對此評論進行了最小化
這對我不起作用,我所做的與上面的宏完全相同,只有一個菜單,它對其他人有用還是我做錯了什麼?

謝謝
網站主持人對此評論進行了最小化
不要使用我的 Excel 2013
網站主持人對此評論進行了最小化
嗨 Yves,我在 Excel 2013 上測試了這段代碼,它運行良好。 你有沒有得到任何錯誤提示? 我需要更具體地了解您的問題
網站主持人對此評論進行了最小化
感謝您的回答但不適用於桌子。 在正常細胞上工作完美。
網站主持人對此評論進行了最小化
嗨,yves,問題現在很清楚,我需要時間來解決它。 請稍等。 感謝您的反饋意見。
網站主持人對此評論進行了最小化
多謝
網站主持人對此評論進行了最小化
謝謝
即使在重新啟動 Excel 後,這是否適用於所有工作簿,還是僅適用於保存宏的選定工作簿?
網站主持人對此評論進行了最小化
嗨,
它僅適用於保存宏的工作簿。感謝您的評論。
網站主持人對此評論進行了最小化
Размести код в отдельном модуле, для того чтобы это работало для всех документов
網站主持人對此評論進行了最小化
你好,

Je déterre le sujet car j'ai un soucis, j'ai récupérer un fichier qui m'a remplacé le menu du click droit et je ne sais pas comment revenir au menu par défaut...
Ça 修飾符 le menu pour n'importe quel fichier excel。 J'utilise excel 2016。

Je précise que le fichier coupable a un mot de passe pour accéder à son code VBA。 Mot de passe qu'évidemment je ne possède pas..

感謝 d'avance pour votre 助手!
網站主持人對此評論進行了最小化
嗨奧利維爾,
對不起,我不太明白你的意思。 你的意思是回到正常的右鍵菜單嗎?
網站主持人對此評論進行了最小化
Zdravím dokázal byste mi prosím někdo poradit s podobným problémem? Po posledním updatu Office přibyla v excelu po stisknutí pravého tlačítka nad kopírovat a vyjmout volba hledat v nabídkách která mi tam vadí a chtěl bych jí odstranit。 Dá se to udělat i obráceně a nějakou funkci odstranit?

謝謝
網站主持人對此評論進行了最小化
嗨,托馬斯,
我沒有遇到過這種情況。 能否附上截圖更清楚地描述你遇到的問題。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護