View Single Post
 
Old 01-02-2018, 02:30 PM
fbucaram fbucaram is offline Windows 10 Office 2016
Novice
 
Join Date: Jan 2018
Posts: 3
fbucaram is on a distinguished road
Smile Delete all empty rows in all tables

Hi,

I am using the following macro to delete all rows in all tables of a word document:

Code:
Option Explicit

Public Sub DeleteEmptyRows()

Dim oTable As Table, oRow As Range, oCell As Cell, Counter As Long, _
NumRows As Long, TextInRow As Boolean

' Specify which table you want to work on.
For Each oTable In ActiveDocument.Tables
' Set a range variable to the first row's range
Set oRow = oTable.Rows(1).Range
NumRows = oTable.Rows.Count
Application.ScreenUpdating = False

For Counter = 1 To NumRows

    StatusBar = "Row " & Counter
    TextInRow = False

    For Each oCell In oRow.Rows(1).Cells
        If Len(oCell.Range.Text) > 2 Then
            'end of cell marker is actually 2 characters
            TextInRow = True
            Exit For
        End If
    Next oCell

    If TextInRow Then
        Set oRow = oRow.Next(wdRow)
    Else
        oRow.Rows(1).Delete
    End If

Next Counter
Next oTable
Application.ScreenUpdating = True

End Sub
It is working, however, all the columns that have empty rows end up opening very wide (see attached pic).

Can somebody please give me a hand?
Attached Images
File Type: jpg a.jpg (194.5 KB, 32 views)

Last edited by fbucaram; 01-03-2018 at 11:38 AM. Reason: add pic
Reply With Quote