View Single Post
  #2  
Old September 6th, 2007, 11:02 PM posted to microsoft.public.word.tables
Lene Fredborg
external usenet poster
 
Posts: 1,294
Default Quick way to delete empty rows?

You can use a macro to delete all the empty rows. The macro below should do
the job.

---------------
Sub DeleteEmptyRows_AllTables()

Dim oTable As Table
Dim oRow As Row

For Each oTable In ActiveDocument.Tables
For Each oRow In oTable.Rows
'Check whether row is empty - delete if it is
If Len(oRow.Range.Text) = oRow.Cells.Count * 2 + 2 Then
oRow.Delete
End If
Next oRow
Next oTable
Exit Sub

End Sub
---------------

How it works:
The macro iterates through all tables in the active document and finds (and
deletes) the empty rows by checking the total string length of each row.
- An empty cell includes a cell maker with a length of 2.
- In addition, each row includes an end of row marker with a length of 2.
Therefore, the row is empty if the string length is equal to the number of
cells in the row multiplied by 2 + 2.

You will find another macro version at:
http://word.mvps.org/FAQs/MacrosVBA/DeleteEmptyRows.htm

NOTE that both macro versions will fail if the table contains vertically
merged cells (requires some error handling).

For help on installing macros, see:
http://www.gmayor.com/installing_macro.htm

--
Regards
Lene Fredborg
DocTools - Denmark
www.thedoctools.com
Document automation - add-ins, macros and templates for Microsoft Word


"Beth Brooks" wrote:

Hi!

I have provided with 150 tables to use in a document. Most of the tables
have empty rows (to divide data visually). Due to space considerations, I'd
like to get rid of all the blank rows. Is there a way to find and delete only
the empty rows in a table?

MS Word version is 2003. Operating system is Windows XP Professional Version
2002 Service Pack 2.

Thanks!

Beth