Given the name of an loaded userform, the only way that I can think to return that as a variable is
Dim FoundUF as Object, oneUF as Object
For Each oneUF in Userforms
If oneUF = "userformName" Then
Set FoundUF = oneUF
Exit For
End If
Next oneUF
The reason is that there can be multiple instances of a particular userform, so names are not used to index the Userforms collection, i.e. there is no UserForms("userformName")
Also, the collection UserForms is only those that are loaded. One needs to look through the VBComponents to find the unloaded userforms, (but that returns the UF as a VBcomponent, NOT as a userform) i.e. VBComponents("myUserform") does not have a .Controls property.