Excel has supported text-to-speech since 2003. In this guide, we’re going to show you how to convert text to speech in Excel using commands or VBA.

Download Workbook

Testing text to speech

Follow the steps below to quickly test the text to speech functionality.

  1. Select your target cells.
  2. Press Alt + F11 to open VBA
  3. Type in Speak into the the Immediate box and press Enter.

If you do not hear any sound or want to change the language and voice settings, open the Windows Speech options for troubleshooting.

Although, this is the fastest way to try the text to speech functionality, it may not be the most practical for frequent use. Now, let's take a look at how you can convert text to speech with one click.

Quick Access Toolbar

Excel has a hidden text-to-speech command under the Quick Access Toolbar. You can find the Quick Access Toolbar settings - along with the ribbon settings - under the Excel Options window. Quick Access Toolbar settings can be accessed using any of the three approaches below:

  1. Click on the Customize Quick Access Toolbar arrow and select More Commands.
  2. Right-clickon Quick Access Toolbar and select the Customize Quick Access Toolbar command in the context menu.
  3. Activate the File tab in the ribbon and open Options > Quick Access Toolbar.
  4. Open the Choose commands from list and select Commands Not in the Ribbon.
  5. In the box below, scroll down and select Speak Cells
  6. Click the Add button to include the Speak Cells in the box to the right.
  7. Once you see the Speak Cells item on the right, click the OK button to display the command in the toolbar.

Here is the command:

How to convert text to speech in Excel 06

VBA Macro

Another option to convert text to speech is to call the Speak method in the first section of a VBA macro. You can use the Speak method for any range object which including a cell or range of cells. All you need to do is to refer the range or cell  and add the Speak command. Below are some examples.

VBA Code Description.
Selection.Speak You will hear the selected cell or its content.
Range("B4").Speak You will hear the cell B4.
Range("B4:B7").Speak You will hear each cell in the range B4:B7.
Range("Titans").Speak You will hear the named range "Titans".

How to convert text to speech in Excel 07