我在打开工作簿时打开的工作簿“main.xlsm”中有一个userform,在这个userform上我有一个按钮打开另一个工作簿“test1.xlsm”。在“test1.xlsm”工作簿中,我有一个打开工作簿时打开的用户窗体,在此用户窗体上,我有一个按钮可以关闭此工作簿并保存它。我的想法是,在从“test1.xlsm”关闭userform之后,我应该从“main.xlsm”返回到userfom,但是在Workbooks("test1.xlsm").Close
行上它会关闭所有打开的userforms
这是“main.xlsm”中userform的按钮代码:
Private Sub CommandButton1_Click()
Workbooks.Open ("D:\test1.xlsm")
End Sub
这是“main.xlsm”中userform的按钮代码:
Private Sub SaveButton1_Click()
Workbooks("D:\test1.xlsm").Close SaveChanges:=True
End Sub
也许你在这样的新实例中打开test1
Private Sub CommandButton1_Click()
Dim xl As New Application
With xl
.Visible = True
.Workbooks.Open ("D:\Test1.xlsm")
.Quit
End With
End Sub
在excel论坛上提出这个问题后,我得到了将每个表格的ShowModal
属性更改为ShowModal FALSE
的建议。所以我将这个参数添加到ThisWorkbook
中的代码中:
UserForm1.Show vbModeless
在两个用户表单中,它都有效。