Jane90
Jane90

Reputation: 37

Formatting table in powerpoint macro

I am trying to edit a table in a slide, and I am using this code. Can someone please tell me why it isn't working? If instead of s.Shapes.Table I have s.Shapes.Range for example it works fine.

Sub format()
Dim s As Slide
For Each s In ActivePresentation.Slides
With s.Shapes.Table
.TextFrame.TextRange.Font.Name = "Arial"
.TextFrame.TextRange.Font.Size = 30
End With
Next s
End Sub

Upvotes: 1

Views: 17295

Answers (1)

Steve Rindsberg
Steve Rindsberg

Reputation: 14809

Like so instead:

Sub format()

Dim s As Slide
Dim oSh As Shape
Dim oTbl As Table
Dim lRow As Long
Dim lCol As Long

For Each s In ActivePresentation.Slides
' If you choose Debug | Compile, this next line fails
' There's no such property as .Table
' With s.Shapes.Table
    For Each oSh In s.Shapes
        If oSh.HasTable Then
            Set oTbl = oSh.Table
            For lRow = 1 To oTbl.Rows.Count
                For lCol = 1 To oTbl.Columns.Count
                    With oTbl.Cell(lRow, lCol).Shape.TextFrame.TextRange
                        .Font.Name = "Arial"
                        .Font.Size = 30
                    End With
                Next
            Next
        End If
    Next    ' Shape
Next s

End Sub

Upvotes: 3

Related Questions