Dim SrchRng As Range, Itm As Range

Set SrchRng = Sheets("Categories").Range("A:A").SpecialCells(xlCellTypeConstants)

With Sheets("Data")
    For Each Itm In SrchRng
        .Columns("B:B").Replace What:=Itm, Replacement:=Itm.Offset(0, 1), _
            LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
            SearchFormat:=False, ReplaceFormat:=False
    Next Itm
End With

Set SrchRng = Nothing
First question, in the sheets("categories") Is your range, both the words to be found and their replacement.

For mine, I have a sheet "wordlist" and Column A is the words to find and B is their replacement. Would this still work or do I need to reorganize?