excel vba 窗口关闭时弹出另一个窗口

这是关于UserForm_QueryClose()函数使用的一个问题。
在form1显示时点击红叉退出窗口时执行下面函数
Private Sub UserForm_QueryClose(Cancel As Integer,CloseMode As Integer)
form2.Show
End Sub
窗口2显示。但是在窗口2有一个按钮执行的是form1.show。
这时就会提示窗口1已经在显示中不能再被执行show,程序崩溃。
这是因为UserForm_QueryClose中调用了form2.show而导致UserForm_QueryClose函数还在挂起状态,所以form1还没有消失的原因造成的。
我知道设置一个按钮可以解决这个问题,我想知道的是直接点窗体的红叉时,用什么方法可以显示另一个窗体,并不会发生上述现象的方法。

在VBA窗口的UserForm_QueryClose事件中添加代码,就会在窗口关闭时执行。

软件版本:Office2013

方法如下:

1.在userfomr1窗口的UserForm_QueryClose事件中添加弹出代码:

2.这样VBA窗体并关闭时,就会自动出现弹窗:

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-23
show后加个0
Private Sub UserForm_QueryClose(Cancel As Integer,CloseMode As Integer)
form2.Show 0
End Sub

然后在form2窗体写入代码
Private Sub UserForm_Activate()
Unload UserForm1
End Sub

excel vba 窗口关闭时弹出另一个窗口
1.在userfomr1窗口的UserForm_QueryClose事件中添加弹出代码:2.这样VBA窗体并关闭时,就会自动出现弹窗:

VBA 在excel关闭用户页面和窗口总是弹出很多另存文件提示,怎样能关闭了...
你运行完带有VBA的工作簿是会这样的,都会提示保存,你用下面两个代码试试。Application.DisplayAlerts = False 放在你代码的开头吧,放在DIM J AS LONG 上面,表示关闭弹窗,在代码的最后面要写个:Application.DisplayAlerts = False。也就是END SUB的上面,表示开启弹窗。这样做每次运行是都会替换你...

如何通过vba在关闭Excel时弹出对话框?
Application.Goto Me.Sheets(1).Cells(2, j)MsgBox "关闭前请输入【" & arr(1, j) & "】批次的数量"Cancel = True Exit Sub End If Next j End Sub 执行效果如下:

excel vba怎样让工作簿关闭时不弹出保存对话框?
1、打开Excel 2003或2007或2010或2013完整版版本。2、进入“开发工具”一栏。3、点选“Visual Basic”选项卡中的“编辑器”。4、双击“ThisWorkBook”或“工作表1”。5、在空白区域填写代码:Sub 保存所有已打开的工作簿(),Dim i As Workbook,For Each i In Workbooks, If i.Path <> "" ...

Excel 求助:点击窗体中按钮显示另一窗体
详细操作步骤如下:1.Alt+F11,代开VBA编辑界面,输入下图中的代码:2.关闭VBA,返回工作表,在“开发工具”中点击插入,选择第一个命令按钮3.插入之后,会自动弹出宏编辑界面,此次能看到刚才写好的宏名字,选中,并确定4.点击按钮,就看到弹出Userform1来了。

EXCEL利用VBA关闭后会留下一个灰色的EXCEL,大神帮下忙
应该没有使用正确的VBA语句,例如使用Workbooks.Close就会留下EXCEL程序窗口,关闭程序的正确VBA语句为:APPLICATION.QUIT

excel打开VBA后excel调出vba窗口
1.关闭VBA编辑器和Excel。2.单击“开始→运行”,输入“regedit”,打开注册表编辑器。3.依次展开“HKEY_CURRENT_USER\/Software\/Microsoft\/VBA\/6.0\/Common ”,在右侧窗口中右击“Dock”,在弹出的快捷菜单中选择“删除”。这个名为“Dock”的二进制值保存着VBA编辑器中各窗口的布局信息,删除后重新...

VBA 中怎么设置关闭窗体同时关闭EXCEl,代码应该怎么写,谢谢了_百度知 ...
1、首先打开需要编辑的Excel表格,右键单击工作表选择打开“查看代码”。2、然后在弹出来的窗口中点击打开“通用”。选择Terminate 事件。3、然后在弹出来的窗口中点击输入下方的代码,Private Sub UserForm_Terminate()ThisWorkbook.Saved = True Application.Quit End Sub 4、然后运行程序,这样就可以设置...

如何用vba实现当关闭工作簿时能显示自打开工作簿后所作的所有操作,未点...
按Alt F11打开VBA编辑器,按Ctrl R打开项目资源管理器(如果已经打开则跳过),右键单击当前工作簿,选择插入(n)和模块(m),然后将下面的代码粘贴到右边的代码编辑区,按F5执行。但是,如果工作簿尚未保存,将弹出一个窗口,提示您用要保存的工作簿的文件名替换默认文件名。Sub SaveAndCloseAllBook()将...

excel点关闭按钮弹出用户窗体询问是否保存
3. Application.DisplayAlerts = False代表关闭工作薄的提示 4. 新建一个Form并添加按钮,可以做出你想要的提示框。Form.show代表显示这个对话框。因此思路如下:1. 在BeforeClose下弹出对话框,询问是否要关闭。2. 如果点击保存,则保存后退出。3. 如果点击不保存,直接退出。如果仍然弹出对话框,用...

相似回答