Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Adding Buttons to Your Worksheet.

Adding Buttons to Your Worksheet

by Allen Wyatt
(last updated August 1, 2015)

4

Probably the most commonly created control object for worksheets is the lowly button. This is because the most common use of buttons is to run macros which you have associated with a workbook. You can insert buttons in your worksheet by use of the Button tool. Follow these steps:

  1. Display the Developer tab of the ribbon.
  2. Click Insert in the Controls group. You'll see a small palette of items you can insert in your document.
  3. Click on the Button tool.
  4. Click in your workbook where you want a corner of the button to appear, but don't release the mouse button.
  5. Move the mouse to specify the size of the button you want.
  6. Release the mouse button.

Excel immediately displays the Assign Macro dialog box, offering you the opportunity to assign a macro to the button. Notice that the dialog box presents a list of previously defined macros, along with a suggested name for the macro to be assigned to this button. The suggested name is comprised of the default name of the button itself (something like Button1) combined with the action that will start the macro (Click). This macro name (Button1_Click) will appear very familiar to people that have programmed in Visual Basic before, since it conforms to the standard way of naming event handlers. (Event handlers are nothing but programming code designed to handle a specific event, such as an object—like a button—being clicked with the mouse.)

To complete your work with the Assign Macro dialog box, select a macro you want assigned to this new button and then click on OK. You can then change the title appearing on the button by clicking your mouse within the button text and entering a new title.

Once the button is finished in this manner, the macro associated with this button will be run whenever anyone clicks on it with the left mouse button. If you use the right mouse button instead, you will see a menu that allows you to delete the button or change the macro assigned to the button.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (10485) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. You can find a version of this tip for the older menu interface of Excel here: Adding Buttons to Your Worksheet.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Changing Tabs Using the Ruler

Need to adjust the position of tab stops in a paragraph? One simple way to do it is to just drag them around on the ruler.

Discover More

Setting Decimal Tabs in a Table Using the Keyboard

Most people use the mouse to set tab stops in the paragraphs in a table. If you prefer to not use the mouse, then you'll ...

Discover More

Displaying Page Breaks

Page breaks can be added to a worksheet manually or automatically. If you want to see where Excel places page breaks, ...

Discover More

Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!

More ExcelTips (ribbon)

Generating a List of Macros

Got a workbook that has lots and lots of macros associated with it? Here's a way you can get a list of all of those ...

Discover More

Changing Macro Cell References Based on Edits

Place a cell reference in a macro, modify the structure of your worksheet, and you may soon find that the cell reference ...

Discover More

Delimited Text-to-Columns in a Macro

The Text-to-Columns tool is an extremely powerful feature that allows you to divide data in a variety of ways. Excel even ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 9 + 5?

2020-05-13 16:12:37

Duncan O'Donnell

Hi, I have created a free quick tool to create custom excel ribbons within minutes which is available at easyribbonbuilder.com

This saves the ribbon within the workbook so it can be shared and will work for anyone.


2018-09-11 13:31:56

Harry M

Cool tip! Thanks!


2018-06-12 05:02:59

Willy Vanhaelen

@Dale

Private Sub ALL_Click()
Call ADA_Click
Call ARDR_Click
Call BAT_Click
' etc...
End Sub

Assign this macro to a "Run All" button and you are done.


2018-06-11 20:01:38

Dale

i followed your instructions above. Now I have 27 buttons that do the same thing of copying rows based on specified criteria. All of them work correctly. Is there a way to have one button that runs all of the others at once when I I click on it. The following is part of my code. Sorry I have no idea of what I am talking about.

Private Sub ADA_Click()

a = Worksheets("DATA").Cells(Rows.Count, 1).End(xlUp).Row


For i = 2 To a


If Worksheets("DATA").Cells(i, 2).Value = "BTC-ADA" Then


Worksheets("DATA").Rows(i).Copy
Worksheets("ADA").Activate
b = Worksheets("ADA").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("ADA").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("DATA").Activate


End If
Next

Application.CutCopyMode = False

ThisWorkbook.Worksheets("DATA").Cells(1, 1).Select


End Sub
Private Sub ARDR_Click()

a = Worksheets("DATA").Cells(Rows.Count, 1).End(xlUp).Row


For i = 2 To a


If Worksheets("DATA").Cells(i, 2).Value = "BTC-ARDR" Then


Worksheets("DATA").Rows(i).Copy
Worksheets("ARDR").Activate
b = Worksheets("ARDR").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("ARDR").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("DATA").Activate


End If
Next

Application.CutCopyMode = False

ThisWorkbook.Worksheets("DATA").Cells(1, 1).Select


End Sub



Private Sub BAT_Click()

a = Worksheets("DATA").Cells(Rows.Count, 1).End(xlUp).Row


For i = 2 To a


If Worksheets("DATA").Cells(i, 2).Value = "BTC-BAT" Then


Worksheets("DATA").Rows(i).Copy
Worksheets("BAT").Activate
b = Worksheets("BAT").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("BAT").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("DATA").Activate


End If
Next

Application.CutCopyMode = False

ThisWorkbook.Worksheets("DATA").Cells(1, 1).Select


End Sub


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.