VBA - How does "ReplaceWith" work and creating a shape range.

While working on a script I wanted to replace an object with a shape and saw something called ReplaceWith (VirtualShape As Shape), but couldn't figure out how to use it. I tried the help file and google it with no help. Anyone have a sample of how to use this? I basically want to find an object and replace it with an circle. I was able to get it to work using a different method, but the performance is pretty bad.

Second question is how to work with a group of objects and then select the objects that I've just manipulated. For example, I do a foreach loop and convert each object into another shape. Now I want to take all those new shapes and do a SelectRange out of them so I can manipulate them as a whole range. Is this possible? Or do I have to go back and search through all objects and find them depending on a certain criteria?

Thanks!