Should just require the 3 new lines below
Option Explicit
'ORIGINAL SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
'Adapted for external data
Sub Multi_FindReplace() 'PURPOSE: Find & Replace a list of text/values throughout entire workbook
Dim wbReplaceList As Workbook
Dim wbReplaceIn As Workbook
Dim ws As Worksheet
Dim sReplaceIn As String
Dim rReplaceList As Range
Dim iReplace As Long
'get WB name to replace in
sReplaceIn = Application.GetOpenFilename("File to Replace In, *.xls?", 1, "Select File To Replace In")
If sReplaceIn = "False" Then Exit Sub
Application.ScreenUpdating = False
Set wbReplaceIn = Workbooks.Open(sReplaceIn)
Set wbReplaceList = ThisWorkbook
Set rReplaceList = wbReplaceList.Worksheets(1).Cells(1, 1).CurrentRegion
For Each ws In wbReplaceIn.Worksheets
With rReplaceList
For iReplace = 2 To .Rows.Count
Call ws.UsedRange.Replace(.Cells(iReplace, 1).Value, .Cells(iReplace, 2).Value, xlPart, , False)
Next iReplace
'HHAV has to be before HHA
Call ws.UsedRange.Replace("HHAV", vbNullString, xlPart, , False)
Call ws.UsedRange.Replace("HHA", vbNullString, xlPart, , False)
Call ws.UsedRange.Replace("CNA", vbNullString, xlPart, , False)
ws.Rows.AutoFit ' added
End With
Next
wbReplaceIn.Save
wbReplaceIn.Close
Application.ScreenUpdating = False
End Sub