This fixes a bug and included tables.
Sub zapper()
Dim osld As Slide
Dim oshp As Shape
Dim L As Long
Dim lngCount As Long
Dim iRow As Integer
Dim iCol As Integer
Dim otr As TextRange
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
Select Case oshp.HasTable
Case Is = True
'loop through table
For iRow = 1 To oshp.Table.Rows.Count
For iCol = 1 To oshp.Table.Columns.Count
If oshp.Table.Cell(iRow, iCol).Shape.TextFrame.HasText Then
Set otr = oshp.Table.Cell(iRow, iCol).Shape.TextFrame.TextRange
For L = otr.Paragraphs.Count To 1 Step -1
If L < otr.Paragraphs.Count Then
If Len(otr.Paragraphs(L)) < 2 Then otr.Paragraphs(L).Delete
Else
If Len(otr.Paragraphs(L)) < 1 Then otr.Paragraphs(L).Delete
End If
If otr.Characters(otr.Count) = Chr(13) Then otr.Characters(otr.Count).Delete
If otr.Characters(otr.Count) = Chr(13) Then otr.Characters(otr.Count).Delete
Next L
End If
Next iCol
Next iRow
Case Is = False
If oshp.HasTextFrame Then
If oshp.TextFrame.HasText Then
Set otr = oshp.TextFrame.TextRange
For L = otr.Paragraphs.Count To 1 Step -1
Debug.Print Len(otr.Paragraphs(L))
If L < otr.Paragraphs.Count Then
If Len(otr.Paragraphs(L)) < 2 Then otr.Paragraphs(L).Delete
Else
If Len(otr.Paragraphs(L)) < 1 Then otr.Paragraphs(L).Delete
End If
If otr.Characters(otr.Count) = Chr(13) Then otr.Characters(otr.Count).Delete
Next L
End If
End If
End Select
Next oshp
Next osld
End Sub