Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. 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: Flashing Cells.

Flashing Cells

by Allen Wyatt
(last updated January 12, 2018)


Many people use the conditional formatting features of Excel to draw attention to specific values or areas of their worksheets. For instance, a cell might be formatted so that its contents are displayed in red or in boldface if above or below a certain threshold.

What is missing, however, is a way to make the contents of a cell flash, or blink on and off. For such a feat, you are left to your own devices and the miracle of macros. By utilizing these tools, you can make cells blink by first designing a special style for the blinking cells, and then running a simple macro.

To create the special style, follow these steps:

  1. Select the cell that you want to flash on and off. (Make sure the cell has something in it; it should not be blank.)
  2. Make sure the Home tab is displayed on the ribbon.
  3. In the Styles group, click Cell Styles. Excel displays a drop-down selections of pre-defined styles.
  4. Choose New Cell Style. Excel displays the Style dialog box. (See Figure 1.)
  5. Figure 1. The Style dialog box.

  6. In the Style Name box enter the name "Flashing" (without the quote marks).
  7. Using the controls in the dialog box, modify any attributes for the style, as you desire.
  8. Click on OK.

You can now apply the style to any other cells you desire in your workbook. Now create the macros (there are two of them), as follows:

Dim NextTime As Date

Sub StartFlash()
    NextTime = Now + TimeValue("00:00:01")
    With ActiveWorkbook.Styles("Flashing").Font
        If .ColorIndex = xlAutomatic Then .ColorIndex = 3
        .ColorIndex = 5 - .ColorIndex
    End With
    Application.OnTime NextTime, "StartFlash"
End Sub

Sub StopFlash()
    Application.OnTime NextTime, "StartFlash", schedule:=False
    ActiveWorkbook.Styles("Flashing").Font.ColorIndex = xlAutomatic
End Sub

To start the items flashing, simply run StartFlash. The cells formatted with the Flashing style will alternate between red and white text approximately once a second. When you want to turn the flashing off, simply run the StopFlash macro.

There is one important thing to note about this macro: the variable NextTime is declared outside of the actual procedure in which it is used. This is done so that NextTime maintains its value from one invocation of StartFlash to the next.


If you would like to know how to use the macros described on this page (or on any other page on the ExcelTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (7223) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Flashing Cells.

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. ...


Working with Record Numbers

Want to keep track of various rows in a data table through the use of record numbers? Here are some options and ...

Discover More

Calculating a Group Retirement Date

Calculating a retirement date can be as simple as doing some date math to see when a person reaches a certain age. ...

Discover More

Monday's Date on Friday's Report

Automatically putting today's date at the top of a report is easy. Putting a different date, automatically, can be more ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (ribbon)

Changing the Color of a Cell Border

Excel provides a variety of tools you can use to make your data look more presentable on the screen and on a printout. ...

Discover More

Locking the Background Color

You can spend a lot of time getting the formatting in your worksheets just right. If you want to protect an element of ...

Discover More

Removing Borders

Need to get rid of the borders around a cell? The shortcut in this tip can make quick work of this formatting task.

Discover More

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

View most recent newsletter.


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}] 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 - 6?

2019-06-01 17:34:32


What if I just want to make every cells highlighted in red for example, flash as a whole instead of picking each cells one by one? Can I do that and how?

2019-05-09 03:22:59

Oscar Bravo

Well done for going to all the trouble of programming a work-around for a feature that MIcrosoft have evidently decided they can't be bothered including as standard. It's like if I asked, "How do I turn on the heating in my car?" and the answer was "First, take out the back seats. Then install an fireplace. Finally, gather some wood and simply ignite a handy campfire. P.s. don't forget to install a chimney, or you might have to wind down the windows."

2018-01-14 10:47:59



Nice idea in principle but Excel doesn't update the time value in real time only, when the worksheet recalculates. That's why a macro is necessary.

2018-01-14 03:52:31


Barry's suggest to have a macro toggle a cell value between true and false made me think that maybe this whole objective CAN be achieved entirely WITHOUT Macro's ...

What if I have a cell where a formula calculates if the "second" of the time is even or odd ... that would have a toggle between true and false WITHOUT macro. Then that can be used for conditional formatting, again WITHOUT macro.

Would that work ?

Only question ... how to make this conditional on the value of the cell you want to start flashing ?

2018-01-12 16:27:34

Allan P{oe

Select the cell that you want to flash on and off. (Make sure the cell has something in it; it should not be blank.)
Make sure the Home tab is displayed on the ribbon.
In the Styles group, click Cell Styles. Excel displays a drop-down selections of pre-defined styles.
Choose New Cell Style. Excel displays the Style dialog box. (See Figure 1.)
Figure 1. The Style dialog box.
In the Style Name box enter the name "Flashing" (without the quote marks).
Using the controls in the dialog box, modify any attributes for the style, as you desire.
Click on OK.

Did exactly as outlined above at least six times. None of the six filled cells flashed.
What did I do wrong.
I am using 2007.

2017-08-17 17:25:17

Daniel W. Dykes

Allen; I used your "Flashing Macro" for an excel cell, just as you described, but instead of just the cell I wanted to blink, the whole worksheet blinked (really just the cursor).

What did I do wrong?

2017-05-20 12:14:11


I did as you instructed above for Excel 2007. The StartFlash macro did not work. When activated, the whole sheet would blink every second, but not the subject cell. Obviously I'm doing something wrong. I have no idea if you will respond or even get this since I am not a subscriber. Just thought I'd give it a shot. Sorry for the bother.



2017-04-28 02:32:01



You don't specify which of the solutions in this tip you're trying to use, nor any symptoms. So it's not going to be easy to help you.

Do check that macros are enabled, and that the macros are located on the correct codepages.

2017-04-27 05:16:56


it does not work.... ;-(

2017-02-14 01:07:21


I need help with making it so that the empty cells on my sheet in a list flash if the cell is empty. If anyone is able to help me, please email me at I will pay £5-£10 dependant on how quickly the task can be resolved. I would do it personally but I have an important day to reach by and am already caught up with work so I need the help.

Many thanks.

2017-01-19 05:21:49



There is a link to spreadsheet that you can down in my post on 5 May 2016 below.

Please make sure that macros are enabled otherwise this will not work.

2017-01-19 00:49:28


I tried in my 2013 Excel ,but doesn't work.perhaps you could email me the spreadsheet with Flashing Cells Macros,thanks.

2016-09-30 05:22:45



Your comment is not very helpful. The solutions DO work if implemented correctly, and I suspect it is something in your system that is stopping things from working. You can even download the solution I proposed and try it (YOU will have to make sure macros are enabled though). There are several solutions proposed in this article which one are you trying to get working?

As all the solutions are macro based you will need to ensure that macros are enabled, otherwise none of these solutions will work. Of course, it is always possible that a User opens a workbook and disables macros, so it might be useful to organise the workbook to cope with this situation.

2016-09-30 01:51:01



2016-05-05 05:32:54


I've sent you an email directly with sample file to make the cells flash when the file is opened.

2016-05-05 05:28:11



I have a spreadsheet that does this albeit in Excel 2010, but I've no reason to believe this won't work in Excel 2013 or 2016.

I use a very simple macro that toggles the value of a "Name" once per second. Then I use conditional formatting to either highlight the target cell or not dependent on the value in the Name.
NB a Name doesn't have to refer to a Named range which it is most commonly used for but can hold variables, or even formulas.

In a code "Module":

Public HighlightTime As Date

Sub RefreshHighlight()

If ThisWorkbook.Names("Flash") = "=1" Then
ThisWorkbook.Names("Flash").Value = "=0"
ThisWorkbook.Names("Flash").Value = "=1"
End If

HighlightTime = Now + TimeValue("00:00:01") 'SetTime for +1 secs
Application.OnTime HighlightTime, "RefreshHighLight"
End Sub

and on the "ThisWorkbook" codepage:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime HighlightTime, "RefreshHighLight", , False
End Sub

Private Sub Workbook_Open()
ThisWorkbook.Names.Add "Flash","0"
End Sub

Then in any cell you want to flash; use the conditional formatting formula: "=Flash" and whatever formatting you desire. If you want other conditions as well, say, to only flash above a certain value then use the AND function e.g. "=AND(A1>10, Flash)" to flash for cell values over 10.

You can download a spreadsheet with these macros in them from: Note: you will have to make sure macros are enabled for this to work as Excel by default is suspicious of any macro enabled workbook sourced from the Internet.

NOTE: the placement of the macro on the specified codepages/modules it important.
and the use of these macros clears the "Undo" stack.

2016-05-04 10:30:24


I have Excel 2016 so I'm guessing this won't work for me. Would it be possible for you to make up a spreadsheet for me to download as I get totally baffled by your macro instructions? Or perhaps you could email me the spreadsheet.
I have a spreadsheet that has a macro built in to it that when it is open and another spreadsheet is also open it enables uppercase text to be changed to lower case for the contents of the cell and back again if required. This can be achieved in MS Word by pressing shift and F3 each time changing uppercase to lowercase and even starting with a capital letter for the highlighted word.

2016-03-08 14:43:42

You might try a 'Sub Auto_Open()' macro attached to that workbook.
Sub Auto_Open()
insert the flash macro
End Sub.
I use this with a message box on my default spreadsheet. It may need tweaking for the added flash macro. ?

2016-02-18 07:08:11


Thanks for all the help I have been receiving from your Site. Appreciate it!

2015-06-25 08:29:24


Excellent! Worked like a charm. Thank you!
I too have the same question like Dave. I wanted to enable the flash everytime I open the excel book, not manually running the macro, any idea if this is possible please

2015-05-28 15:36:32



2015-04-15 15:22:34


Its Working Good.
Thanks :)

One more question how to flash the cell background(fill color)???

2015-02-18 01:56:12



It's not clear please explain with Screenshoot.

2014-12-21 13:01:09


If you are getting a:

Runtime error 9

Hit debug and if this line:

With ActiveWorkbook.Styles("Flashing").Font

is highlighted you need to change Flashing to what ever you named your style.

2014-12-18 05:22:51


It is sometimes easier for Users simply to have the macro toggle a cell value between TRUE and FALSE and use conditional formatting to flash whatever formatting the user desires without the need to delve into the macro itself and the to have knowledge of properties of the of cells and restrictions on the value they can be set to.

This will eliminate most of the "script out of range" errors people are experiencing.

2014-12-12 17:19:57



"Subscript out of Range"

2014-12-09 01:51:45

Ezi Suhaini Idrus


This works wonderfully for me to do my presentation.

However, am having one tiny problem that is to start flashing once the file is saved and emailed.

hope i can get some tips on this one.

2014-12-03 09:17:51


Myself and others are getting the Run-Time Error "9" saying "Subscript out of Range" on the .ColorIndex = 5 - .ColorIndex statement in the macro. Can anyone tell me (us) how to resolve this issue?

2014-10-05 17:11:50


Hi I ran this macro but I cannot stop it..message pops up -Runtime error 1004, Method 'ontime' of the object'_application'failed.

Can anyone please help

2014-09-17 12:00:59


The very first part has me confused.
How do I "dim next time as date"

2014-08-09 04:37:15

John Chapman

I cannot make this work. I get the following error - Cannot run the Macro... The macro may not be available in this workbook, or all macro's may be disabled.
I have enabled Macros and the Macro is in the workbook!!

2014-07-16 04:50:31


where are the responses to questions?

2014-07-03 14:40:29

Girish Y Sutar

Please teach me...once again cause unable to run macro

2014-06-17 06:23:19


runtime error 9

script out of range

yellowcolor on this line

.ColorIndex = 5 - .ColorIndex

2014-06-13 07:59:47

Sk Reyazuddin

Hi Allen!
Its a great knowledge for me to use "Flashing" function in my workbook.
Its really great.
But it has not actual I needed. When I apply "Flashing" the whole workbook is set to flash. I only want to flash some specified cells.
Will you please help me out from their?

Thanks & looking forward.

Sk Reyazuddin

2014-03-06 06:21:09

Shubhabrata Dey


What if I have a conditional formatting on a cell and its value is variable i.e. it will keep on changing based on certain calculations and I want the entire cell/text in the cell to blink even though the background color of the cell changes based on its value? Your above code works only when the Cell Style has been defined at the very beginning. I do not wish to define the Cell Style as I want my cell to be dynamic.

Please help.

Many thanks.

2014-02-21 16:31:55


The Styles group from my Home ribbon does not display New Cells Style, only Conditional Formatting and Format A Table. Is there another way to edit cell styles?

2014-02-05 05:00:33


Can the flash format be activated conditionally ?
Say if the value in each of a particular range of cells goes below a specified limit, the value flashes - drawing attention......

2014-02-03 12:10:05


This worked great, but is there a way to make the macro automatically start when the workbook is open?

2014-02-03 09:41:00


Works great! Thanks - this is fun.

2014-02-03 04:36:09


It work fine for me as well as long as I put into a module rather than try to make a sheet specific macro.

2014-02-01 17:28:00


It worked just fine for me.
At first, it did not.
I needed to apply the "Flashing" style to the cell, then run the macro.

2014-02-01 16:03:25

Dave Hansen

I copied these macros exactly as shown and pasted them in the individual macro

I made sure the cell involved was formatted as shown in the instructions.

Upon running the "Start Flash" macro nothing happens.
I placed a stop in the sub just before the "End With" statement.

If .ColorIndex = xlAutomatic Then .ColorIndex = 3
.ColorIndex = 5 - .ColorIndex

When the macro stopped I then looked at the beginning variable ".colorindex ="
That variable had a value of "1" not "Automatic" so the If statement fails and the macro stops without exicution of the actual flashing operation.

This causes a HMMMM in my mind. Something is not right somewhere. If the Format is correct then something in the code does not create an error but is not finding the "xlAutomatic" correctly.

Dave Hansen

2014-02-01 08:56:56

Barry Fitzpatrick

Note: Also because macros are running every second the "Undo" stack will be cleared every second, rendering it unusable.

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

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.