MenuRighter is an Excel addin that lets you add almost any “classic” menu control – such as the Edit menu, Freeze Panes button, or addin menus – to any Excel right-click menu.  So if you still remember where Goal Seek was in Excel 2003, it’s just a right-click away.  It was featured by Debra Dalgleish on her Contextures Blog.

Download the MenuRighter 2007/2010 addin                  Download the MenuRighter 2003 addin

MenuRighter isn’t just for Excel 2007 and 2010.  I use it in 2003 as well.  I like the ribbon just fine, but in any version of Excel there are some controls I like to have close at hand, including those from my own addins.  Here’s how it works.

Installing MenuRighter

Menu Righter Tab
When the MenuRighter xlam is installed in 2007 or 2010, a new menu group appears in the Development tab.  There is a lone MenuRighter toggle button, which you click to show or hide the MenuRighter form.

When the Excel 2003 xla is installed, a MenuRighter button is added at the end of the Tools menu.

Using MenuRighter

The form’s left side contains the classic toolbars and their controls.

MenuRighter first opened

The Source box opens to the Add Command menu (basically the Excel 2003 Customize menu).  Clearing the Source box fills the list below it with all available menus, including “Worksheet Menu Bar,” right-click menus, and others, as shown below.

MenuRighter with empty source box

When MenuRighter starts up, the “Add” button is disabled. It becomes enabled when an addable control is in the Source box.

The Source box works like VBA’s Intellisense. Typing, hitting Enter, Tab or a period, along with using the up and down arrows, will autocomplete the controls in the list below.

Below, “Worksheet Menu Bar.Edit” has been selected in the Source box and the Add button is enabled. To add the Edit control, click the Add button or double-click in the Source box.

Notice that the Row menu has been selected in the Target box on the form’s right side.  The Edit menu will be added above the selected Paste Special control. If no control is selected in the Target list the control is added at the end of the menu.

MenuRighter add button enabled

Below, the Target list is shown with the Edit menu added. At this point the changes aren’t applied. To do so, click the Apply Changes button, which is now enabled.

MenuRighter control added

When you click Apply Changes the actual target menu pops up and you can use the edit menu right away! Or later.

MenuRighter changes applied

Other MenuRighter Controls

Show Current shows what the Row menu looks like without the changes in the Target list applied. The Reset to Current button resets theTarget list. The Reset to Default resets the target menu to the Excel default.

The Top, Up, Down, Bottom and Remove buttons all act on the target menu as expected. You can also double-click on a list item to remove it from the menu.

If you make changes in the Target list and then close the form without applying the changes or scroll to another target menu, you’re prompted to apply the changes.

MenuRighter prompt to apply changes

The Show Labels on Menus button adds a control to the end of all menus that shows the menu’s ID and caption.  Below, the Row menu, number 30, is shown with a label.

MenuRighter show labels on menus

Adding MenuRighter and Other Addin Controls

You can add the Menu Righter control itself to menus. In Excel 2003 or earlier, just navigate the Source box to Worksheet Menu Bar>Tools and it will be there. In Excel 2007/2010 MenuRighter adds a MenuRighter commandbar and button when it opens (and deletes it when it closes).  Navigate to this in the Source list to add MenuRighter to a context menu.

You can add controls from custom toolbars or addins as well, as long as those addins create classic menus.

Download the MenuRighter 2007/2010 addin                  Download the MenuRighter 2003 addin

44 thoughts on “MenuRighter

  1. You were going to hear about me on the news if I had to to one more:

    Center Across Selection

    I recorded a macro and assigned it to the top of my right click. Bang! right click, left click.


  2. Hello there. I am using MenuRighter and it works really well.

    I do however have one problem. When I try to open a password protected excel file and get the password wrong, it say:

    Run-time error ‘9999’

    If I then Debug, it highlights the following:

    If gboolErrorState And Not boolTopLevelProcedure Then Err.Raise 9999
    Exit Sub

    Any ideas?


    • Anis, I tried a bit, but can’t duplicate your error. Would you mind telling me the steps I’d need to take to get the error. Also, when you get it, what can you tell what subroutine the highlighted code is in?

      You could reply here, or submit it through the contact form.

    • Anis and I figured out the issue is when a workbook is opened using a Microsoft Natural Keyboard shortcut. As Anis’s comment says, this only happens when the password is entered incorrectly. I’m not going to pursue this further, since I doubt I’d be able to fix it. Thanks Anis!

  3. Hi,

    sorry if I sound frustrated, I’m not an expert in this.
    I just want to modify the ALT-I from INSERT in the cell-Context-Menu (because the ALT-I has 2 meanings which is a stupid bug in the CM) and all I get is an avalanche of text from experts explaining to experts.

    NOTHING for dummies !

    If an expert explains to experts it jumps necessary steps (for the dummy) to understand and follow how to do stuff.
    Like on this page – the paragraph: “Installing MenuRighter”
    starts with : “When the MenuRighter xlam is installed”
    Not even 1 word on HOWTO install the damn thing !

    thanx for adding it to this page.

    Kind regards,
    Frustrated ER.

  4. This add-in is freakin’ awesome! Works beautifully, only took me a few minutes to set up a few items I’ve been seriously needing on some right click menus for Years! Thanks!

  5. I like the concept of Menurighter for Excel. Could it also be used for Microsoft Word or Microsoft Access? Do you have another Menurighter for them if the Excel one can not be used?

    • This one can’t be used, but the code could be modified pretty easily for Word, I think. I don’t thinks it’s possible for Access. I’ll try to test it for Word if I get time.

  6. I am trying to add to the workbook tabs context menu. When I select ‘Workbook tabs’ from the target menu and select the Show Current commandbutton I get a ‘9999’ error. (Sheet1 is causing an error in frmMenuRighter:ResetCbarCopy.

    • Rich, I’ve never noticed that before. I get the same error when I try it. For some reason, it doesn’t like the “Sheet1” button. Maybe because it has a checkmark. I notice that I get the same error in the Nil context menu, whatever that is.

      I am able to add a control to the Workbooks tab context menu through VBA, For example: application.CommandBars("Workbook tabs").Controls.Add id:=21, temporary:=true adds a “Cut” button.

      • Is there a table available that list which id correlates to each command. For example, how did you know 21 is the Cut command. I’m trying to assign a personal macro to the tab. How would I find its id?

        • All personal macros will have an ID of 1, so that won’t help. Also, I’d like to clarify one thing: are you sure it’s the “workbook tabs” context menu? That’s the one that appears when you right-click in the area just to the left of the first sheet tab. When you right-click it shows a list of one to several of the worksheets in your workbook, with the option to show all sheets if they don’t fit in the first menu. Above, you use the phrase “to the tab,” which makes me wonder if you’re actually thinking of the menu you get when right-clicking a sheet tab. If so, it’s called the “ply” menu and you can definitely modify it with MenuRighter.

          To assign a personal macro, you’re going to have to have coded it to appear in a custom commandbar already. In other words, it needs to show up in Excel’s “Addins” menu. Is that the case?

  7. Thank you, it is the “ply” tab that I am looking for, who would have thought. I didn’t even know the tab that you mentioned even existed. I thought the one I was looking for would be called the “worksheets” tab, but it wasn’t, so I assumed “workbooks” would be the one that I wanted. I just did it using the “ply” tab and it works flawlessly. Thanks for your help.

    • Glad I could help.

      Note that there’s a handy checkbox in the bottom-left of MenuRighter. When checked it adds a temporary control to the end of each menu with its name and number.

    • The only one I know is that the form won’t stay on top if you switch to a different workbook. That’s because Excel 2013 handles workbook windows the way Word has for years.

      Functionally though, it’s worked fine for me.

      Please let me know if you run into any issues.

  8. Hi Doug: I’ve been going nuts trying to figure out how to right-click Print (excel 2010), and was so happy to find your add-in, but I just can’t seem to get it working correctly. Even when I try to duplicate your [worksheet menu.edit] example, nothing (new) happens when I right-click. MenuRighter opens ok from the Developer’s tab, but is there something else that I need to do to either allow or enable the add-in to work correctly?

    Also, what Source and Target coding would I use to add the Rt-Click Print… menu dialogue? Thank you, again, for what I hope will be a useful app for me.

    • Lou, you should be able to choose Worksheet Menu Bar > File > Print… for Source and Cell for Target (at least that’s the most commonly visible right-click menu). If MenuRighter appears when you click the Ribbon button there’s nothing more you need to do.

      • Works awesome now; thanks (for both the answer and the prompt reply)!!! My next issue will be trying to restrain myself from over-cluttering my context menus with too many commands. So, if I can’t figure it out myself, I may reach out (bothering you once again) to see how to create an expandable command (for a non-native add-in that has numerous sub-commands)

        Again, thanks, I sincerely appreciate your help, and your program!

  9. I have used MenuRighter in the past and it has been very helpful. I cannot figure out the “source” for toggling word wrap. I would like to be able to wrap text from the right-click cell menu. If I need to use a personal macro (I have made one) and assign it as the source, could you point me in the right direction as to how to get my personal macro to appear in the custom command bar? Many thanks!

    • Jeannette,

      Great question. For some reason there are controls that don’t appear in any menu, as you’ve noticed, and therefore aren’t accessible by MenuRighter without an extra step.

      Your idea is what I would do too. It’s aided by the fact that Wrap Text is a Ribbon command. This means we can take advantage of the Commandbar.ExecuteMso method available in Excel 2010 (and I assume 2007). This method allows us to directly execute a ribbon control without a lot of fol-de-rol.

      So, stick these two subroutines in a module in your Personal.xlsb file (or any other addin):

      Sub Add_Wrap_Text()
      Dim ctlWrapText As Office.CommandBarButton

      With Application.CommandBars("Cell")
          On Error Resume Next
          On Error GoTo 0
          Set ctlWrapText = .Controls.Add
      End With
      With ctlWrapText
          'The "&" sets the accelerator letter to whatever follows
         .Caption = "&Wrap Text"
          'Subroutine that's called when clicked
         .OnAction = "MyWrapText"
      End With
      End Sub

      Sub MyWrapText()
      Application.CommandBars.ExecuteMso ("WrapText")
      End Sub

      You could put them Add_Wrap_Text in your Personal’s Workbook_Open module, or just in a regular module and run it manually. It destroys the control each time it’s run before re-creating it, so there’s no problem running it each time you open your personal macro workbook.

      And, tada, now that’s in the Cell menu you can access it in MenuRighter and put it in any other menu you want.

      The only disadvantage of all this is that every time you use your new Wrap Text button Excel, the Undo stack is cleared, as with most macros. To avoid that, you could just add Wrap Text to the Ribbon’s Quick Access toolbar.

      FYI, I’m working on a new MenuRighter version that allows for faster searching. It let me quickly confirm what you saw about the lack of Wrap Text in any 2003 menu.

  10. .

    Hello Doug,

    Menu Righter is a great tool. I’ve used it to customize various right click menus including adding the standard functions as well as adding Macros I’ve coded in VB.

    I recommend this tool to everyone who asks!

    – Salil V Gangal


  11. .
    Hello Doug,

    Is there a way to create “export” file of the Menu Righter entries on one computer, and then use this file to “import” the entries in another computer? (Similar to export/import available for the “Quick Access Toolbar”.)

    – Salil V Gangal

    • Salil,

      The short answer is probably not. However I was just thinking about this the other day and was able to copy them all from Excel 2010 to my 2013 upgrade at work.

      I did it using Excel 2010’s xlb file, which stores all commandbar information. Try searching on something like “excel xlb file shortcut menus” if you’re interested. These files grow over time and that used to cause problems. I don’t know if it still does because I never see them mentioned any more.

  12. Hey Doug:

    You are correct about the Excel*.xlb file. After installing Menu Righter a couple of months ago (w/ some add’l help from you), I’ve dreaded having my work laptop replaced, and had actually delayed the IT guys for a couple of weeks, in fear of all of the Windows, Excel, et al settings that would need to be re-done (oy!).

    Anyway, I got the new laptop last week, imported my saved ribbon settings, and then opened the Excel “Save Workspace” command’s file that I’d just saved from the old PC, all of which left me about 97% there (which included the MenuRighter add-in command, but not my actual saved rt-click menu). Just now, I closed out of Excel, deleted my new laptop’s Excel14.xlb file (users…appdata…roaming…microsoft…excel), and copy/pasted my old PC’s Excel14.xlb file in the same location, and voila, my previous MenuRighter’s rt-click menu opened perfectly.

    Thanks again for providing a truly functional app, albeit one that shouldn’t have to have been created in the first place {that is, if Microsoft exercised any level of continuity AND sought the input of anyone that’s used Excel for more than a year or two! But, I digress…}, so thanks!

  13. Love your add-in. Can you let me know how to resolve an issue I am having? I lose all changes and even lose the add-in when I shut down and Excel and restart it. I’m using Excel 2013. Thanks for any help you can provide.

    • Thanks John. I’ve been meaning to figure out how to make it work better with 2013. I think the issue is that in 2013 we get a different application/window for each workbook. It seems that if you make changes in one workbook, then close that workbook with Excel still open the MenuRighter changes are lost.

      Please try this:
      1. Open Excel with just one workbook open
      2. Open MenuRighter and make the menu modifications
      3. Close Excel
      4. Re-open Excel and see if the changes have stuck

      Please let me know.

      In addition sometimes all the changes get wiped out. This is rare but happened to me at work the other day. I assume something was done by IT overnight that wiped out my settings. To prepare for that kind of thing please see a couple of comments up for the discussion about backing up your xlb file.

      Finally, of course if Excel crashes in the same session in which you’ve made some menu changes then they will all be lost (the .xlb file is only save on closing.) I mention this as somebody who crashes Excel on a daily basis.

  14. Thanks for your quick response. I hate to be a pest (especially since you are providing this amazing product free of charge)… but I tried your suggestions but I still lose the changes and add-in when having only one workbook open, making changes, saving the workbook, closing and then re-opening Excel. Thanks for any additional help you’re willing to offer. Thankfully, John

    • John, you say you are losing the addin as well. Does that mean that it’s no longer installed when you restart Excel? If that’s so, and even if not, it sounds like maybe this is a bigger issue. Are you able to install and use other addins? Is this a work computer?

      If you prefer, you can reply via my contact form and I’ll get back to you and try to figure it out.

  15. Good morning Doug.. once again, thanks for your time. After your last reply, it was clear that my troubles were more complex than I thought, and since I have a version of Excel 2010 and like it as much (if not more than) as Excel 2013, I tried MenuRighter in 2010 and it works great. I do have one question, please. I still lose the add-in from the Developer tab each time I close and reopen Excel. Is there a way to have MenuRighter permanently appear in the Developer tab (or any other convenient location)? Again, thanks!

    • You’re welcome John.

      The behavior you’re looking for is the norm. I have Excel 2010 and once I installed MenuRighter its menu is in the Developer tab for good. That’s just how it, and other addins, work.

      Are you actually installing the addin through the Addins menu in the Developer tab. If so, I’m afraid I don’t know what the problem is.

      I did ask you a couple of questions in my last comment. It sounds like this is definitely a home PC, but feel free to confirm. More importantly, have you successfully installed other addins so that they appear in the Addins dialog in the Developer tab?

      • Thanks for your reply. Yes, this is a home PC and this is the first add-in I have intalled. I could not see the RightMenu in my add-in list at first, but manually pasted the add-in the Excel Library folder and was able to select the add-in! I’m good now… all is well. Thanks again for your help… you have an amazing product on your hands.

Speak Your Mind

Your email address will not be published. Required fields are marked *

To post code, do this: <code> your vba here </code>