new finding:
try this code, just create a different name for every run


[VBA]
Sub GetOption2()
Dim TEMPFORM As Object
Dim mFormName As String
Dim i As Integer
i = Int(Rnd() * 100)
'mFormName = "Form1"
' Hide VBE window to prevent screen flashing
'Application.VBE.MainWindow.Visible = False
' Create the UserForm
Set TEMPFORM = ThisWorkbook.VBProject.VBComponents.Add(3)
'TEMPFORM.Properties("Name") = ""
With TEMPFORM
.Properties("Name") = "Form" & i
.Properties("Width") = 300
.Properties("Height") = 400
'.Properties("Name") = mFormName
End With

'UserForm1.Caption = "Form1"
' Show the form
VBA.UserForms.Add(TEMPFORM.Name).Show
End Sub
[/VBA]