View Single Post
  #5  
Old January 13th, 2010, 11:08 AM posted to microsoft.public.word.tables
David
external usenet poster
 
Posts: 1,494
Default Automate removal of blank rows from table

May I add, I have a document that has nested tables that this macro missed. I
found that I have to iterate over oTable.Tables (which I created another sub
to do that I called reiteratively). Just thought you would like to know.


"Lene Fredborg" wrote:

If sorting is not an options, you can use the macro below:

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

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 - Microsoft MVP (Word)
DocTools - Denmark
www.thedoctools.com
Document automation - add-ins, macros and templates for Microsoft Word


"Suzanne S. Barnhill" wrote:

If the table content is such that it can be sorted, then all blank rows will
sort to the top and can be easily deleted as a group. Barring that, you'll
need some sort of macro.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA
http://word.mvps.org

"nhpaulao" wrote in message
...
How do i delete blank rows from tables in an automated manner? My table is
200 pages and contains random blank rows due to another automated process,
and I want to be able to search/replace blank rows or somehow delete them.


.