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