I have also use this code, same thing, single word it replaces fine but long phrase doesn't seems to work. I keep getting mismatch error.
Option ExplicitSub Multi_FindReplace()
Dim sRng As Range, InputRng As Range, ReplaceRng As Range, Cls As Range, Rg0 As Range
Dim MyAdd$, xTitleId$
xTitleId = "ERS : Applying Abbriviation"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select the Columns to Apply Stanards ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Standard Abbreviations Sheet Range (Col A and ColB):", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Cls In ReplaceRng.Columns(1).Cells
Set sRng = InputRng.Find(Cls.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If Rg0 Is Nothing Then
Set Rg0 = sRng
Else
Set Rg0 = Union(Rg0, sRng)
End If
Set sRng = InputRng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
If Not Rg0 Is Nothing Then
Rg0.Value = Cls.Offset(, 1).Value
Set Rg0 = Nothing
End If
Next Cls
Application.ScreenUpdating = True
End Sub