If the error only occurs in the replace funciton then it is likely because Rletter is not a valid string. Make it a valid string (dimension it as with 2 cells).
However, it would be better to completely eliminate Rletter and any formats. Simply use the Chars[random(sizeof(Chars))] in the containi() function (make sure that it is an array of strings and not characters; I can't tell if you have the correct structure or not based on the code that you have given).
This still leaves the possibility of an infinite loop so you would want to put in a timeout. Alternatively, you can find a "only once random function" so that you will be able to know that you hit each letter at least once. This means your loop will have a maximum number of executions (you probably would use a for loop with a break in this case).