Vba 使用变量重新打开用户窗体

Vba 使用变量重新打开用户窗体,vba,userform,Vba,Userform,我正在尝试在用户窗体被隐藏或卸载后打开它(两者都无法工作) 注意:所有用户表单都称为“frmSetup”&i 因此,除了frmSetup0之外,其他所有程序都有一个取消按钮。当单击此取消按钮时,它将卸载当前表单并加载FRMSetup 0,这是一个美化的“确定吗?”如果用户选择“否”,我需要它重新加载他们上次所在的表单 据我所知,vba.userforms仅适用于当前活动的表单。所以我不能用它来检查循环中的表单。像这样: Dim Obj As Object, Str As String Str =

我正在尝试在用户窗体被隐藏或卸载后打开它(两者都无法工作)

注意:所有用户表单都称为“frmSetup”&i

因此,除了frmSetup0之外,其他所有程序都有一个取消按钮。当单击此取消按钮时,它将卸载当前表单并加载FRMSetup 0,这是一个美化的“确定吗?”如果用户选择“否”,我需要它重新加载他们上次所在的表单

据我所知,vba.userforms仅适用于当前活动的表单。所以我不能用它来检查循环中的表单。像这样:

Dim Obj As Object, Str As String
Str = "frmSetup" & i

For Each Obj In VBA.UserForms
    If Obj.Name = Str Then Obj.Show
Next

那么,有没有一种方法可以获取一个字符串:“frmSetup”&i并让它加载相关的用户表单?

它的可能副本可能更容易更改您的算法?不要在按下“取消”时卸载表单,而是在回答“是”时询问并卸载。