It’s late; everyone else has left the office. And you can leave as soon as you get a specific report finished. But there are differences between two schedules, and you just can’t find them. You’ve been down the lists multiple times, you’ve ticked the numbers, but still, you just can’t find them. Does this sound a familiar scenario? I’ve been there many times. This is when a little known Excel feature comes into play – Speak Cells. Does this sound a familiar scenario? I’ve been there many times. This is when a little known Excel feature comes into play – Speak Cells.
Speak Cells does exactly what you would think. It speaks the values of a cell or cells.
How is this useful? When comparing a printed document with a spreadsheet, it can be difficult to identify differences. Many times in my career (usually when up against a tight deadline) I have sat with a colleague, one of us speaks the value, whilst the other confirms the value. But when you’re on your own the luxury of having a person next to you is not available. This is why Speak Cells is so useful.
Where to find Speak Cells?
Why have you never heard of this before? Because Speak Cells is not included in any of the standard Ribbons or Menus. It’s one of the hidden gems, which Microsoft leave for Excel geeks to find. Whilst my screenshots are based on Excel 2016, this feature has been part of Excel since 2003, so it will be within your version of Excel somewhere.
To use Speak Cells we must first add it to our Ribbon or Quick Access Toolbar. In this tutorial, we will add it to the Review Ribbon, but you could add it anywhere, just follow the same principles.
Add Speak Cells to the Review Ribbon
Right-click anywhere on an existing Ribbon, click Customize the Ribbon…
Using the New Group and Rename buttons from the Excel Options window, create a new group within the Review Ribbon called Speak Cells.
From the Choose commands from drop-down select Commands Not in the Ribbon. Scroll down to Speak Cells and add the commands to Speak Cells group you created above.
Click OK to close the Excel Options window. The Review Ribbon now includes the new Speak Cells group.
Using Speak Cells
There are 5 Speak Cells buttons:
- Speak Cells – Starts speaking the values from the selected cells. The order of speaking is based on the By Columns or By Rows toggle (see below).
- Stop Speaking – Stops Excel speaking.
- By Columns / By Rows – These buttons toggle between two options. By Columns will speak through each row in a column before moving to the next column, whilst By Rows will speak each column before moving to the next row.
- On Enter – A toggle button to speak the cell value after entering a value or formula in a cell.
It’s time to give it a go.
A few notes on using Speak Cells
Like any features of Excel there are a few things to be aware of:
The speakers need to be on and turned-up
When in an office we tend to turn computer volumes down so not to disturb others, therefore it’s easy to forget that you need to turn the sound on and volume up. This may seem obvious, but you’d be surprised.
Only speaks displayed valued
The words spoken will be based on the precision of the cell value. If a cell value is 22.5, but is displayed to zero decimal places (i.e., the cell displays 23), Speak Cells will speak 23, rather than 22.5.
What about the Mac Version?
A similar feature is available on the Mac version but found within the main System Preferences. System Preferences -> Dictation & Speech -> Text to Speech
VBA code for Speak Cells
If you want to control this with VBA here are some short sample codes to use.
The code below will speak the words “Hi, I am Excel”.
Sub ExcelSpeakText() Application.Speech.Speak "Hi, I am Excel" End Sub
The code below will speak the values in Cells A5 – A.
Sub ExcelSpeakCells() Range("A5:A6").Speak End Sub
Toggle the speech direction
The code below will toggle between the By Rows and By Columns options.
Sub ToggleSpeakDirection() If Application.Speech.Direction = xlSpeakByColumns Then Application.Speech.Direction = xlSpeakByRows Else Application.Speech.Direction = xlSpeakByColumns End If End Sub
Speak on Enter On/Off
The code below turns on the Speak on Enter setting (use False to turn off the setting).
Sub SpeakOnEnter() Application.Speech.SpeakCellOnEnter = True 'Alternative values 'Application.Speech.SpeakCellOnEnter = False End Sub
Changing voices and speed
It gets a bit trickier when trying to change the voice or the speed. It’s outside the scope of this article but, if you want to know more, Ryan Wells has an excellent article describing how to change all these settings with VBA.
There you have it. The little know Speak Cells feature of Excel. You probably won’t use it every day, but know it’s there. Then at the right time, you can use it to save you some frustration.