Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Placing Text in Empty Table Cells.
by Allen Wyatt
(last updated April 18, 2020)
When Liliana has a table in a document, the company requirements state that each cell in the table must have something in it. This means that if a cell is otherwise empty, it must contain either a dash or the letters "N/A." Liliana wonders if there is a way that she can automatically place either a dash or "N/A" into the empty cells of a table.
The only way to do this is with a macro. You can create one that steps through each of the cells in a table and checks to see what it contains. If the cell is empty, then the text you desire is placed in the cell. Here is an example macro that works on all the tables in a document, checking each cell:
Sub ProcCells1() Dim tTable As Table Dim cCell As Cell Dim sTemp As String sTemp = "N/A" For Each tTable In ActiveDocument.Range.Tables For Each cCell In tTable.Range.Cells 'An apparently empty cell contains an end of cell marker If Len(cCell.Range.Text) < 3 Then cCell.Range = sTemp End If Next Next Set oCell = Nothing Set tTable = Nothing End Sub
If you decide that you want your empty cells to contain a dash instead of "N/A", all you need to do is change the text placed in the sTemp variable. If you prefer a macro that works with a single table instead of all the tables in a document, the following variation works great:
Sub ProcCells2() Dim tTable As Table Dim cCell As Cell Dim sTemp As String sTemp = "N/A" If Selection.Information(wdWithInTable) Then Set tTable = Selection.Tables(1) For Each cCell In tTable.Range.Cells 'An apparently empty cell contains an end of cell marker If Len(cCell.Range.Text) < 3 Then cCell.Range = sTemp End If Next End If Set oCell = Nothing Set tTable = Nothing End Sub
In order to use this variation, just make sure the insertion point is within the table you wan to process before you run the macro.
If you prefer to not use macros, then there is a different approach you could consider—simply make sure that your table contains the desired dashes or "N/A" text before you start putting information in it. You could create a table template that contains a dash or "N/A" in every cell, and then as you place other information in the cell you simply delete the default text. (The various ways you can set up table templates is covered in other issues of WordTips.)
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (10772) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Placing Text in Empty Table Cells.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!
If your document contains quite a few tables, you may find it helpful to jump quickly from one table to another. There ...Discover More
Want to move a column in a table very easily? You can do so by using the same editing techniques you are already using.Discover More
For some programming needs, it is important to determine the index of an object within a collection of such objects. This ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.