我是VBA编程的新手,目前正在努力了解其他人不再提问的VBA代码。有几十页的代码 - 然而,现在引起一些关注的部分可以描述如下:
有2个用户表单。程序流程应该是UserForm1要求输入帐号,然后UserForm2显示该帐户的信息。处理完帐户信息后,应将控制权返回给UserForm1,以便获取其他帐号(或退出程序)。
但是在UserForm1中有一个对UserForm2的调用,而在UserForm2中则调用了UserForm1。我发现这个问题非常棘手,并希望就如何恰当地处理这种情况提出一些建议。我在互联网上找到了大量关于用户表单创建和使用的信息,但没有任何关于这样的2个用户表单之间的交互(除了本网站上标题为:VBA:使用多个用户表单的文章) ,这让我相信也许UserForm1应该是“隐藏”(即UserForm1.hide)而不是“卸载” - 我相信我仍然可以使用“模态”模式,而不是“无模式”模式第二篇对文章的回应建议)。但这种来回的呼唤仍然让我感到有些困惑....就像我说的,我是一个新手,所以我在这方面的理解有点受限。
由于代码相当冗长,我希望以下描述就足够了。
Sub1
call to Sub2
Sub2
launches UserForm1 (unloads UserForm1 before launching UserForm2)
launches UserForm2 (unloads UserForm2 before launching UserForm1)
launches UserForm2 (unloads UserForm2 before launching UserForm1)
launches UserForm1 (unloads UserForm1 before launching UserForm2)
现在也许我只是在思考过程中过于程序化,但是对于我来说,划分UserForm1&的发布会更有意义。 UserForm2所以没有这个来回的呼叫。如果我的假设是错误的话,有人可以请你纠正我,或者如果我的假设是正确的,请提供一些帮助,我们将不胜感激!
答案 0 :(得分:1)
以模态方式打开Userform2。
Userform2.Show vbModal
然后,Userform2将显示Userform1的顶部,并在卸载后将控制权返回给Userform1。