If someone else does not, I will tackle this tomorrow. Your recorded macro should be written using the Range object rather than the selection object.
You really should consider using a UserForm.
Why are you using a macro for this at all rather than a letter template?