• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 320
  • Last Modified:

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?
Mitch Swetsky
Mitch Swetsky
1 Solution
Saqib Husain, SyedEngineerCommented:
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
Mitch SwetskyBusiness AnalystAuthor Commented:
Thank you for your prompt complete suggestion, It worked fine.
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.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now