Möchte man eine UserForm mit Variable öffnen, funktioniert das nicht wie gewohnt.
strVariable.Show
wird nicht funktionieren wenn strVariable nicht der feste „hardcodierte“ Userformname ist. Soll der Name aus einer Variable genutzt werden kann man wie folgt vorgehen.
'UserForm Objekt anhand seines Namens als String holen
Function UserFormName(Name As String) As Object
Set UserFormName = CallByName(UserForms, "Add", VbMethod, Name)
End Function
'irgendwo im Sub ...
[...]
Dim strFormName As String
strUserFormName = {Code der die Variable befüllt}
UserFormName(strUserFormName).Show
[...]