If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
Quick way to delete empty rows?
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 |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
Quick way to delete empty rows?
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 |
#4
|
|||
|
|||
Quick way to delete empty rows?
Could you provide more details about the problem. What happens? Do you see an
error message - and in that case, what doet it tell? --- Regards Lene Fredborg DocTools - Denmark www.thedoctools.com Document automation - add-ins, macros and templates for Microsoft Word "Tanya" wrote: 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 |
#5
|
|||
|
|||
Quick way to delete empty rows?
I am not getting an error message. I want the macro to run on all tables
within a merged document. The macro needs to loop through each merge record base on each unique mergefield. "Lene Fredborg" wrote: Could you provide more details about the problem. What happens? Do you see an error message - and in that case, what doet it tell? --- Regards Lene Fredborg DocTools - Denmark www.thedoctools.com Document automation - add-ins, macros and templates for Microsoft Word "Tanya" wrote: 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 |
#6
|
|||
|
|||
Quick way to delete empty rows?
I am not sure I understand exactly what you want to do. The macro does what
is described in my first post: deletes empty rows in _all_ tables in the active document. Do you want the macro to delete empty rows in only one _section_ of the document (each section corresponding to a letter)?. If that is the case, try to replace the code line: For Each oTable In ActiveDocument.Tables with the following line: For Each oTable In Selection.Sections(1).Range.Tables Then the macro will only delete empty rows from the tables in the section in which the insertion point is found (or in case you have selected text, in the section where the selection starts). -- Regards Lene Fredborg DocTools - Denmark www.thedoctools.com Document automation - add-ins, macros and templates for Microsoft Word "Tanya" wrote: I am not getting an error message. I want the macro to run on all tables within a merged document. The macro needs to loop through each merge record base on each unique mergefield. "Lene Fredborg" wrote: Could you provide more details about the problem. What happens? Do you see an error message - and in that case, what doet it tell? --- Regards Lene Fredborg DocTools - Denmark www.thedoctools.com Document automation - add-ins, macros and templates for Microsoft Word "Tanya" wrote: 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 |
Thread Tools | |
Display Modes | |
|
|