Find & Replace Function in VBA
If your excel job involves routine task finding something and replacing with something then you need this article at any cost. Because after reading this article you would probably save 80% of your time by learning this VBA coding technique. Find and Replace is the often used tool in excel and we can implement the same with VBA as well. In our earlier article “VBA Find” we have shown you how to use FIND method in VBA. In this article, we will show you how to use the VBA “Find & Replace” method.
Follow the article to learn this technique.
VBA Find and Replace Syntax
To use Find and Replace method in VBA we have to follow the below-given steps. First, we have selected the range of cells, so mention the range of cells by using RANGE object in VBA.
Now put a dot (.) to see the IntelliSense list.
Select the Replace method from the list.
We can see the huge parameter list of the Replace method. Now we will see each parameter explanation below.
- What: This is nothing but what we need to find to replace the value.
- Replacement: With the found value what should be the new value to be replaced with.
- Look At: This is to mention whether we want to look at the whole content or just the part of the content. We can supply two parameters here “xlWhole” & “xlPart”.
- Search Order: This is to mention the search order either rows or columns. We can supply two parameters here “xlByRows” & “xlByColumns”.
- Match Case: The content we are searching for is case sensitive or not. If the case sensitive argument is TRUE or else FALSE.
- Search Format: We can also search the content by the formatting of the value we are looking for.
- Replace Format: We can replace the one format with another format as well.
Examples of VBA Find and Replace in Excel
Below are some examples of Excel VBA Find and Replace method.
Example #1 – VBA Find and Replace the Word
Ok, let’s look at the following example to understand VBA Find and Replace Method. Take a look at the following data.
Step 1: First mention the Range of cell we are replacing. In this example Range is from A1 to B15, so the code will be Range (“A1:B15”).
4.6 (247 ratings)
Sub Replace_Example1() Range ("A1:B15") End Sub
Step 2: Now put a dot to see the IntelliSense list.
Step 3: Select the Replace method from the IntelliSense list.
Step 4: Mention What parameter as “September”.
Step 5: Next Replace with parameter should be our new value we replacing with i.e. “December”.
Range("A1:D4").Replace What:="September", Replacement:="December"
Ok, as of now ignore all the other parameters. Now run the VBA code to see the replacement method with VBA.
So, it has replaced all the September with the word “December”.
Example #2 – Case Sensitive Replacement
The more advanced example of VBA Find & Replace method will be using case sensitive replacement method. For this example, I have created this sample data as shown in the below image.
We have two cells data in capital letters “HELLO”. Where ever we have a capital “HELLO” it should be replaced by the new word “Hiii”.
As usual, write the code, mention what to find and what to replace first.
Sub Replace_Example2() Range("A1:D4").Replace What:="HELLO", Replacement:="Hiii" End Sub
Now for the next argument “Match Case” write the condition as TRUE.
Range("A1:D4").Replace What:="HELLO", Replacement:="Hiii", MatchCase:=True
Now run the code it will replace only the capital “HELLO” to “Hiii”.
Imagine you have not applied the Match Case argument in VBA then it will replace all the “Hello” to “Hiii”.
Note: I have removed the Match Case argument here, by default MATCH CASE argument value is FALSE.
As we can see in the above image it has replaced all the “hello” words to “hiii”.
So, whenever we want to use MATCH CASE criteria we should apply the argument as “TRUE” and by default, this argument value is “FALSE”. Like this, we can use the “FIND & REPLACE” method to find something and replace the found value with something else.
This has been a guide to VBA Find and Replace Method. Here we will learn how to find and replace the word in VBA Excel with examples and downloadable excel sheet. You may also have a look at other articles related to Excel VBA –