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

24 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!

Speak Your Mind

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

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