在Excel中,我正在寻找一种通过VBA关闭和重新打开多模式用户表单的方法,这些表单以前是手动打开的。
手动打开两个模式的用户表单都很好:第一个用户表单是通过单击工作表上的按钮(activx)打开的,第二个用户表单是通过单击第一个用户表单上的按钮(commandbutton2)打开的。
为了将更新应用到工作表,我需要临时关闭两个用户表单。我尝试了以下代码:
userform2.hide 'needs to be hidden before hiding the first userform, since both forms are modal
userform1.hide
userform1.show
userform2.show
当然,这不能正常工作,因为代码执行得到了halted by forms that open modal。使用UserformX.show vbModeless
将允许代码执行,但它也将允许用户访问工作表,而不关闭我不想要的表单。
这里可能的解决方案是什么?
编辑:使用this answer的Application.OnTime
应该有一个解决方案,不幸的是我不能开始工作(假设它能工作)。
发布于 2020-01-30 01:56:42
我设法通过使用事件(如activate等)打开了多个级联的模式用户表单。以这种方式显示第一个模态窗体会触发显示第二个模态窗体的事件,依此类推。
https://stackoverflow.com/questions/59225669
复制相似问题