I don't quite understand your usage of the For...Next statement. Typically, For...Next statements are used to loop through some lines of code a set number of times. The number of times it loops is controlled by the counter variable (usually i), and the range specified in the argument. Specifying a range usually requires the word "To". So, for example, you could write a For...Next loop like so:
For i = 1 To 7
Some code goes here
This would run the code once, then increment the i variable to 2, run the code again, increment i to 3, etc. Once i is incremented to 7, it would run the code one last time then exit the loop.
In the code you posted, there is no range specified for i. In fact, I suspect that you don't really need a loop to do what you want. Also, you set the Component.Replace statement = False. I'm not sure what you intended here, but the correct syntax for specifying the "replace all" argument is inside the parentheses (see the code below for the correct syntax).