Just another way to do it:

Assuming you are using a version after 2007 it is good practice to use TextFrame2 to be able to use the new formatting if required.

Sub ReplaceBlueRedToBlack()Dim oSld As Slide
Dim oshp As Shape
Dim oTbl As Table
Dim iRow As Integer
Dim iCol As Integer
For Each oSld In ActivePresentation.Slides
    For Each oshp In oSld.Shapes
    Select Case oshp.HasTable
    Case Is = True
    With oshp.Table
    For iRow = 1 To .Rows.Count
                    For iCol = 1 To .Columns.Count
                    Call fixSHAPE(.Cell(iRow, iCol).Shape)
                    Next iCol
                    Next iRow
                    End With
    Case Is = False
     Call fixSHAPE(oshp)
    End Select
    Next oshp
Next oSld
End Sub


Sub fixSHAPE(oshp As Shape)
Dim x As Long
If oshp.HasTextFrame Then
            If oshp.TextFrame2.HasText Then
                With oshp.TextFrame2.TextRange
                    For x = .Runs.Count To 1 Step -1
                        If .Runs(x).Font.Fill.ForeColor.RGB = RGB(0, 0, 255) Or .Runs(x).Font.Fill.ForeColor.RGB = RGB(255, 0, 0) Then
                            .Runs(x).Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
                        End If
                    Next x
                End With
            End If
        End If
End Sub