I tested this macro in my merge document. I am having a problem with it
deleting rows in all merged letters based on the first letter instead of
deleting based on the individual letter. Is there a way to avoid this?
"Lene Fredborg" wrote:
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