The following adopts a different approach. As you have not defined SPP in your macro, I have substituted a fixed value for testing. It takes four to five seconds to process a 1000 row table.

Sub Macro1()Dim oTable As Table
Dim oRow As Row
Dim i As Integer
Const SPP As Integer = 46
    i = 1
    Do
        Set oTable = ActiveDocument.Tables(i)
        On Error GoTo err_Handler 'run out of rows
        Set oRow = oTable.Rows(SPP)
        oTable.Split BeforeRow:=oRow
        i = i + 1
    Loop
lbl_Exit:
    Set oTable = Nothing
    Set oRow = Nothing
    MsgBox "Complete"
    Exit Sub
err_Handler:
    Err.Clear
    GoTo lbl_Exit
End Sub