This would help but if you have equations they follow different rules and you may get unexpected results
Code:
Sub delblue()
Dim oSld As Slide
Dim oShp As Shape
Dim x As Long
Dim l As Long
Dim i As Long
Dim j As Long
Dim otr As TextRange
Dim otrTotal As TextRange
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
If oShp.HasTextFrame Then
If oShp.TextFrame.HasText Then
With oShp.TextFrame.TextRange
For x = .Runs.Count To 1 Step -1
If .Runs(x).Font.Color.RGB = RGB(0, 0, 255) Then
Set otr = .Runs(x)
For l = 1 To otr.Length
If otr.Characters(l).Font.Color.RGB = RGB(0, 0, 255) Then otr.Characters(l) = "_"
If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
Next l
.Runs(x).Font.Subscript = msoFalse
.Runs(x).Font.Superscript = msoFalse
End If
Next x
End With
End If 'has text
End If 'has textframe
If oShp.HasTable Then
For i = 1 To oShp.Table.Rows.Count
For j = 1 To oShp.Table.Columns.Count
If oShp.Table.Cell(i, j).Shape.TextFrame.HasText Then
Set otrTotal = oShp.Table.Cell(i, j).Shape.TextFrame.TextRange
With otrTotal
For x = .Runs.Count To 1 Step -1
If .Runs(x).Font.Color.RGB = RGB(0, 0, 255) Then
Set otr = .Runs(x)
For l = 1 To otr.Length
If otrTotal.Paragraphs.Count > 1 Then
If Asc(otr.Characters(l)) = 13 Then
otr.Characters(l) = vbCrLf
Else
otr.Characters(l) = "_"
If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
End If
Else
If otr.Characters(l).Font.Color.RGB = RGB(0, 0, 255) Then otr.Characters(l) = "_"
If otr.Characters(l) = "_" Then otr.Characters(l).Font.Color.RGB = RGB(120, 120, 120)
End If
Next l
.Runs(x).Font.Subscript = msoFalse
.Runs(x).Font.Superscript = msoFalse
End If
Next x
End With
End If
Next j
Next i
End If
Next oShp
Next oSld
End Sub