Excel - how to find value, replace with matching value from another sheet

I need to write a maco that will look for values in an active selection, find match in my "replacement values" and replace with a value in same row. The selection may change each time I use it, but should always be one column.

For example in the attached - in sheet "my diet", if a value is equal to column A in sheet  "replacement values", replace with Column b in sheet "replacement values".
My replacement values worksheet will always be same reference, ie I can save it to hard drive and go back to it, I may add to it so I would like the macro to go to the sheet and repeat until end of data.
 
for example find in my diet where ever it says "apples" and replace with "fruit". Steak will remain as there is no match in replacement values.
Can someone post a simple macro that I can modify and use?
sample.xlsx
LVL 1
Mitch SwetskyBusiness AnalystAsked:
Who is Participating?
 
Saqib Husain, SyedConnect With a Mentor EngineerCommented:
This will replace the words in the selected range

Sub replacewords()
    Dim sws As Worksheet
    Dim tws As Worksheet
    Dim rw As Range
    Dim cel As Range
    Set sws = Sheets("Replacement values")
    Set tws = Sheets("My diet")
    For Each cel In Selection
        Set rw = sws.Range("A:A").Find(cel, , , xlWhole)
        If Not rw Is Nothing Then
            cel.Value = rw.Offset(, 1)
        End If
    Next cel
End Sub
0
 
Mitch SwetskyBusiness AnalystAuthor Commented:
Thank you for your prompt complete suggestion, It worked fine.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.