How to change the color of ActiveX Control button in Excel?

In Excel, when you insert a command button, the color of the button is grey by default. But sometimes, you need to change the grey color to a beautiful color to make the worksheet more professional. Today, I can introduce you some quick tricks to change the color of the button in Excel.

Change the color of ActiveX Control button with changing the properties
Change the color of ActiveX Control button with VBA code

Change the color of ActiveX Control button with changing the properties

Normally, in Excel, there are two types of button, one is Form Control button and the other is ActiveX Control button. If the button is Form Control button, you can just change the font color of it, but don’t change the background color. You just can change the back color of the ActiveX Control button. Please do as this:

1. Insert the ActiveX Control button by clicking Developer > Insert, and select Command Button under ActiveX Controls section, see screenshot:


Note: If the Developer tab doesn't show in the ribbon, you can click File > Option > Customize Ribbon, then check Developer in the right pane to display the Developer tab.

2. Then drag the mouse to draw a button.


3. And then select the button and right click, choose Properties from the context menu, and in the popped out Properties dialog, click Alphabetic tab, and then click BackColor drop down list to choose one color you like, see screenshots:

doc-change-button-color3 -2 doc-change-button-color4

4. Then close the dialog, and the color of your command button has been changed as follows:


5. At last, quit the Design Mode by clicking Developer > Design Mode to make the button use normally.

Change the color of ActiveX Control button with VBA code

As we can see, Excel provides a few of colors in the Properties dialog box for us to apply. With the following simple VBA code, there are lots of colors to be chosen.

1. Insert a command button, and right click, then choose View Code from the context menu, see screenshot:


2. Then a Microsoft Visual Basic for Applications window will display, see screenshot:


3. And then copy and paste this simple code script: CommandButton1.BackColor = 12713921 into the window between the two code, see screenshot:


Note: In the above code script, the CommandButton1 is the name of your button, and the number 12713921 is the MS-Accessnumber, they are all variable, you can change them as your need.

4. Then press F5 key to run this code, and your button color has been changed at once.


Tip: You can go to this website: to view more MS-Access number color values, there are maybe hundreds of colors you can use. After opening the website, you just need to choose a color and copy the corresponding number under MSAccess herder, then replace the above number in the code script.


The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    NickV · 8 months ago
    Thanks for this information (especially the color guide resource). But can we take it one step further? Are there ways to use code to make the button look more like a button? (shadow, bevel, etc) I know how to design a shape the way I want it and then assign a macro to it. But doing that seems to me to be a workaround at best. I'd prefer to do it with code if it's possible.
  • To post as a guest, your comment is unpublished.
    rashed · 3 years ago
    I want to colour command button for specific time. like when i enter code in button, button color would be change for 40 minutes and than normal
  • To post as a guest, your comment is unpublished.
    moe · 3 years ago
    hey, when i right clikck, it didnt show propperties so I chose properties from the Developer tool bar, and I didnt get options like backcolor. what should i do?
    • To post as a guest, your comment is unpublished.
      Amit · 3 years ago
      First click on DESIGN MODE under devloper tab, now right click on activex button.

      Now properties is visible
    • To post as a guest, your comment is unpublished.
      Amit · 3 years ago
      First click on design mode under devloper tab then select button and right click.
      Now properties option is visible ;-)
  • To post as a guest, your comment is unpublished.
    Steve · 3 years ago
    This works for a Toggle Button ...I expect a simple Command Button would be similar.

    With ToggleButton1
    If .Value Then
    .ForeColor = RGB(0, 0, 0)
    .BackColor = RGB(0, 255, 0)
    .Caption = "Caption if toggled on."
    .ForeColor = RGB(0, 0, 0)
    .BackColor = RGB(255, 255, 0)
    .Caption = "Caption if toggled off"
    End If
    End With
  • To post as a guest, your comment is unpublished.
    Alexander · 5 years ago
    I'm trying to find a way to use a command button or toggle buttons to change the forecolor from white to green. Is there a simplistic way to do that?