Could give the following a shot:
Sub ReplaceAndUnderline()
Dim rFound As Range
Dim szFirst As String
Dim iCount As Integer
Dim oldval As String
Dim newval As String
oldval = "test"
newval = "testing"
Set rFound = Cells.Find(what:=oldval, lookat:=xlWhole)
iCount = 0
Do While Not rFound Is Nothing
If szFirst = "" Then
szFirst = rFound.Address
ElseIf rFound.Address = szFirst Then
Exit Do
End If
rFound.Value = Application.Substitute(rFound.Value, _
oldval, newval)
rFound.Font.Underline = True
iCount = iCount + 1
Set rFound = Cells.FindNext(rFound)
Loop
End Sub
Just change the oldval and newval strings.
Cheers,
Nate