If its the text of the hyperlinks would a find and replace all (Ctrl+h) not do it for you?
If its the link in the hyperlink that's got corrupted then a bit of coding would be required. Try the following (untested by me but should work):
Code:
Option Explicit
Sub EditHyperlinks()
Dim sh As Worksheet
Dim h As Hyperlink
Dim i As Integer
' Loop through every sheet in this spreadsheet
For Each sh In ThisWorkbook.Sheets
' Loop through every hyperlink on the sheet
For Each h In sh.Hyperlinks
' Find the first instance of "20%" in the hyperlink's address
i = InStr(1, h.Address, "20%", vbBinaryCompare)
' Loop as there may be more than one instance
Do Until i = 0
' Replace the instance of "20%" that we've found
h.Address = Left(h.Address, i - 1) & " " & Mid(h.Address, i + 3)
' Find any more instances of "20%" in the hyperlink's address
i = InStr(1, h.Address, "20%", vbBinaryCompare)
Loop
Next h
Next sh
End Sub
Maccas