2

I have a large spreadsheet - with quite a bit of colour and bold font etc.

It's often hard to see the cursor - i.e. to find the cell that is selected. It just appears as a slightly thicker green line around the cell.

Can I make the cell cursor much more prominent e.g. blink? This feature seems to be present in almost every text application: the cursor is a blinking line or box. But not in spreadsheets! or at least, I don't know of any spreadsheet program that has this feature. Is there an obvious reason why not, or am I missing some other obvious way to make the selected cell easily visible?

3

am I missing some other obvious way to make the selected cell easily visible?

Well, when you’re not actively typing in a cell (or the formula bar), the “Name Box” (at the left edge of the screen, to the left of the formula bar and just below the ribbon) shows the coordinates of the current cell:

          Excel worksheet with “Name Box”, column header and row label highlighted

(If you have multiple cells and/or multiple regions selected, it displays the upper-left corner of the most recent region you selected.)

Also (as also illustrated above), the column header(s) and the row label(s) corresponding to the active cell(s) are highlighted.

Also, I find that tapping the direction arrow keys (, , , and ) to move the active cell helps to make it stand out amidst the clutter.  Of course you shouldn’t do this if you have multiple cells and/or multiple regions selected, as it will wipe out that selection and leave you with a single cell selected.  (But Shift+direction arrow key will expand or shrink the selection, and not wipe it out.)

Here’s another approach.  It’s a bit heavy-handed, but that might be just what you need if your spreadsheet is so cluttered that you have trouble seeing the trees for the forest.  In the “Home” tab in the ribbon, “Cells” pane, click on “Insert” and select “Insert Sheet Rows” or “Insert Sheet Columns”.

          “Insert” menu

These will insert blank row(s) above the currently selected row(s) (or insert blank column(s) to the left of the currently selected column(s), respectively).  The number of rows (or columns) inserted is equal to the number of rows (or columns) currently selected.  The new area will be blank (i.e., the cells will have blank contents), although they will inherit the formatting of the cells above (or to the left of) to the selected cells.

This may create an effect that’s visually more dramatic than the other suggestions.  Of course, these commands modify the spreadsheet, so you should immediately follow them with an “Undo”, or with the complementary “Delete” function.

“Insert Cells…” will also work, but not as well.

All of these active solutions (the direction arrow key ones and the “Insert” ones) will scroll the worksheet to bring the current cell into view, if necessary.

  • This isn't a bad solution I suppose. A big issue is I make quite heavy use of cell colouring in my spreadsheets, so the headers aren't particularly prominent. Moving the selection does work. A blinking cursor seems such a basic feature... but I can't even find an option to highlight the current line or current column! – Sanjay Manohar Apr 24 '18 at 10:28
  • If you believe that this is the best answer, please “accept” it by clicking the checkmark on the left. – Scott Apr 24 '18 at 17:00
  • Scott's two answers - along with Anwar's fantastic keystrokes -- will probably have to suffice! Thanks both – Sanjay Manohar Apr 25 '18 at 18:30
2

Scott has suggested a goodlist.

Let me suggest few other ways around:

You can press Ctrl+C to copy the active cell(s).  A blinking border will arise around the cell(s).  (This sometimes fails if there are multiple selections.)  You can press Esc to stop the blinking.

You can press Shift+Space Bar to select the row(s) corresponding to the most recent selection, or Ctrl+Space Bar to select the corresponding column(s).  Unfortunately, if you have a region selected, these result in the selection itself being lost.  For example, if you have the region F17:H42 selected and you press Shift+Space Bar, you will get rows 17:42 selected.  One of the original corner cells (F17, H17, F42 or H42) may be highlighted, but, in general, you have no way of knowing both column boundaries of the original selection (F and H).

You can press Ctrl+Backspace to show the active (most recently selected) cell.  If you scroll off the active cell, pressing Ctrl+Backspace will scroll it back into view.

  • Scott, you actually covered the basic and important parts. I just added few points. – Anwar Apr 26 '18 at 15:14
1

Here’s yet another idea, inspired by Leonardo Alves Machado’s answer.  Create these VBA routines (“macros”):

Sub Flash()
'
' Flash Macro
'
    Call toggle
    Application.OnTime Now + TimeValue("00:00:01"), "toggle"
'
End Sub

Sub toggle()
'
    For Each cell In Selection
        tmp = cell.Interior.Color
        ' Things can be explicitly colored white ((255,255,255) = (FF,FF,FF) = &HFFFFFF),
        ' but white things are often actually uncolored.  Check whether this cell actually
        ' has no color and no pattern, and, if so, set a fake just-barely-off-white color
        ' that serves as a flag.
        If tmp = &HFFFFFF And cell.Interior.ColorIndex = xlNone _
                                                And cell.Interior.Pattern = xlNone Then
            tmp = &HFFFFFE      ' &HFFFFFF = pure white; &HFFFFFE = (pure white) - 1
        End If
        Red = tmp Mod 256
        tmp = tmp \ 256
        Grn = tmp Mod 256
        tmp = tmp \ 256
        Blu = tmp Mod 256
        ' Change to a different color (through a reversable process).
        Red = (Red + 128) Mod 256
        Grn = (Grn + 128) Mod 256
        Blu = (Blu + 128) Mod 256
        tmp = RGB(Red, Grn, Blu)
        ' If we're being called for the second time, the above reconstructs the original
        ' color.  If the reconstructed color is &HFFFFFE, that (probably) means that
        ' the cell was originally uncolored, in which case we restore it to that state.
        ' Otherwise, just restore the color.
        If tmp = &HFFFFFE Then
            cell.Interior.Pattern = xlNone
        Else
            cell.Interior.Color = tmp
        End If
    Next
End Sub

Now, when you run the Flash routine, it will call toggle, which changes the fill (interior) color of all the cells in the selection to something radically different.  (If you can improve on this color-flipping algorithm, please tell us what you come up with.)  It then schedules toggle to be called again one second later; this will restore the original colors and produce a flashing effect.

If you want to flash more than once, just change the calling macro to something like

    Call toggle
    Application.OnTime Now + TimeValue("00:00:01"), "toggle"
    Application.OnTime Now + TimeValue("00:00:02"), "toggle"
    Application.OnTime Now + TimeValue("00:00:03"), "toggle"
    Application.OnTime Now + TimeValue("00:00:04"), "toggle"
    Application.OnTime Now + TimeValue("00:00:05"), "toggle"

Modifying toggle to work on the entire current column and/or row is straightforward and is left as an exercise.

The code is a bit more complicated than it should need to be.  I tried to explain why in the comments, but I left out the rationale, which is, when an Excel cell has “fill” specified, even if it’s solid white, the border lines disappear.  You can see this for yourself by setting cell B2 to have a fill of solid white:

    cell with solid white fill with no border lines (or invisible ones)

Before I added the special case, when I ran the Flash code on an uncolored cell (default format), the first call to toggle changed it to solid gray (127,127,127) and the second call changed it “back” to solid white — which, of course, was not what it was before, and which caused the border lines to vanish.

If you move the cursor before the flashing sequence is complete, toggle will change the color(s) of the original selection, and then of the new (modified) selection.  So these changes will not cancel each other out (as they should), and so you will have a bunch of cells with their colors changed.  So don’t do that.

  • nice! will try this shortly. – Sanjay Manohar Apr 25 '18 at 18:32
-1

I believe there is a way. I found this blog that teaches how to do it. Basically it says:

  1. Select the cell that you want to flash on and off.
  2. Choose Style from the Format menu. Excel displays the Style dialog box.
  3. In the Style Name box, enter a new style name. (For this example, use the style name Flashing.)
  4. Using the controls in the dialog box, modify any attributes for the style, as you desire.
  5. 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.

  • 1
    Question ask how to make the ACTIVE CELL flashing, you describe how to make it for pre-selected cells. It can be a useful information, but please elaborate it more to make it actually answering the question. – Máté Juhász Feb 28 '18 at 21:16
  • 2
    Yes, I have of course searched google before and found this. Thanks for your answer, but it does not answer my question. I want the cursor to flash! – Sanjay Manohar Mar 2 '18 at 5:38

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.