How to create Excel custom function to replace words?

I need a custom function in Excel 2016 that will take one word and replace it with another one, for example:
Al to Albert
Albert to Al
Bob to Robert
Robert to Bob
Tom to Thomas
Thomas to Tom
Alex CampbellAsked:
Who is Participating?
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Normally the ideal setup would be to have a lookup table on another sheet and use VLookup to get the desired output.

But you may try this User Defined Function to achieve the desired output.
Place the following code on a Standard Module.
Function ReplaceWord(ByVal str As String) As String
With CreateObject("Scripting.Dictionary")
    .Add "Al", "Albert"
    .Add "Albert", "Al"
    .Add "Bob", "Robert"
    .Add "Robert", "Bob"
    .Add "Tom", "Thomas"
    .Add "Thomas", "Tom"
    If .exists(str) Then ReplaceWord = .Item(str)
End With
End Function

Open in new window

And then assuming your word is in A1, then use this function on the sheet like below...

Open in new window

Alex CampbellAuthor Commented:
Worked great. Thanks
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
You're welcome Alex!
Please take a minute to mark your question as Solved by accepting the Answer.
Alex CampbellAuthor Commented:
Worked great
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.