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
[...]

Schreibe einen Kommentar

vier × vier =