Thanks a lot SamT again. I have copied and edited that code from the point where you said, this point is after the 'Copy_Template()' sub. Now though the 'SetMyTag(CtrlName As String)' is in red, I have just put 'Private Sub' in front of this to solve this problem.

Also the code you have just posted from 'Private Sub BackColorMe1 (CtrlName As String)' I believe has been copied down twice by accident? Therefore, the error 'Ambiguous name detected' is occuring. I have deleted what I think is the accidental second copy and now it is coming up with the error 'Procedure declaration does not match description of even or procedure having the same name'.