upgrading short code that deletes empty rows in excel

hi,
i have the attached code, that currently deletes every empty row in a word table (also rows with only numbering bullet). i need to upgrade this code so that also if the row cells containes only spaces (" "), it should also be deletd.
appreciate your kind help :)
Sub DelRows()
    Dim tbl As Table
    Dim rw As Row
    
    Set tbl = ActiveDocument.Tables(1)
    For Each rw In tbl.Rows
        If rw.Range.Characters.Count - rw.Range.Cells.Count = 1 Then
            rw.Delete
        End If
    Next rw
End Sub

Open in new window

Or_AAsked:
Who is Participating?
 
GrahamSkanConnect With a Mentor RetiredCommented:
Not sure why this is in Zone VBScript. If you really are using VBScript, these procedures need a bit of tweaking

Similar, but slightly different technique.
Sub DelRows2()
    Dim tbl As Table
    Dim rw As Row
    
    Set tbl = ActiveDocument.Tables(1)
    For Each rw In tbl.Rows
        If Len(Replace$(rw.Range.Text, " ", "")) = (rw.Cells.Count + 1) * 2 Then
            rw.Delete
        End If
    Next rw
End Sub

Open in new window

0
 
danengleCommented:
I'm not familiar with the syntax for acquiring the actual cell content so am leaving that to you, but the logic should work:


    For Each rw In tbl.Rows
        If rw.Range.Characters.Count - rw.Range.Cells.Count = 1 Then
            rw.Delete
' replace 
        elseif replace(rw.<whatevertoretrievecontent>, " ", "") = "" then
            rw.Delete
        End If
    Next rw

Open in new window

0
 
danengleCommented:
Actually, upon further inspection, this deletes just empty cells?  based on the sub you posted, it appears it will delete everything.

Also, for the first If, couldn't it just use:
If rw.Range.Characters.Count = 0 then rw.delete

?
0
 
Or_AAuthor Commented:
worked great, thanks!
but i didnt understand your question, what i've written is not in VB?
0
All Courses

From novice to tech pro — start learning today.