Another way that will not demand that security settings be lowered (Trust Access to Visual Basic Project must be checked/enabled for JWalks method to work) is to simply create a template userform and then create an instance of it. If you have very similiar forms, you can use this method to combine them into one or to combine events for multiple forms.
TemplateUserform.zip
Create a new workbook.
Create a userform named, "MyTemplateForm".
Placew this code in some class module such as ThisWorkbook or a Worksheet class...
<table border="1" bgcolor="White"><caption ALIGN=left>
<font size="2" face=Courier New>Example VBA Code:</FONT></caption><tr><td><font size="2" face=Courier New> <font color="#0000A0">Public</font> <font color="#0000A0">WithEvents</font> uf <font color="#0000A0">As</font> UserForm
<font color="#0000A0">Private</font> mtf <font color="#0000A0">As</font> MyTemplateForm
<font color="#0000A0">Sub</font> Example()
<font color="#0000A0">Set</font> mtf = <font color="#0000A0">New</font> MyTemplateForm
<font color="#0000A0">Set</font> uf = mtf
<font color="#0000A0">Dim</font> l <font color="#0000A0">As</font> MSForms.Label
mtf.Caption = "Instance of MyTemplateForm"
<font color="#0000A0">Set</font> l = mtf.Controls.Add("Forms.Label.1", "Description", True)
l.Caption = "This is a simple blank form. I can do whatever " & _
"I wish via code... Click the form!"
l.AutoSize = True
mtf.Show
Unload mtf
<font color="#0000A0">Set</font> mtf = <font color="#0000A0">Nothing</font>
<font color="#0000A0">Set</font> uf = <font color="#0000A0">Nothing</font>
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>
<font color="#0000A0">Private</font> <font color="#0000A0">Sub</font> uf_MouseDown(ByVal Button <font color="#0000A0">As</font> Integer, <font color="#0000A0">ByVal</font> Shift <font color="#0000A0">As</font> Integer, <font color="#0000A0">ByVal</font> X <font color="#0000A0">As</font> Single, <font color="#0000A0">ByVal</font> Y <font color="#0000A0">As</font> Single)
<font color="#0000A0">With</font> mtf.Controls("Description")
.Left = X
.Top = Y
<font color="#0000A0">End</font> <font color="#0000A0">With</font>
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>
<font color="#0000A0">Private</font> <font color="#0000A0">Sub</font> uf_MouseMove(ByVal Button <font color="#0000A0">As</font> Integer, <font color="#0000A0">ByVal</font> Shift <font color="#0000A0">As</font> Integer, <font color="#0000A0">ByVal</font> X <font color="#0000A0">As</font> Single, <font color="#0000A0">ByVal</font> Y <font color="#0000A0">As</font> Single)
mtf.Caption = X & ", " & Y
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>
</FONT></td></tr></table>
TemplateUserform.zip