【问题标题】:Stop in Close and Open userforms _VBA停止在关闭和打开用户窗体_VBA
【发布时间】:2018-10-10 23:49:41
【问题描述】:

我创建了两个表单。按下按钮 1 打开表格编号 2。通过关闭表格编号 2,显示表格编号 1。但是这个动作只做了一次,第二次就停止了,几乎不起作用。代码哪里有问题?

代码 Userform1:

Private Sub ShowUserform2_Click()
  UserForm1.Hide
  Unload UserForm1
  UserForm2.Show
End Sub

代码 userform2:

Private Sub UserForm_Terminate()
  UserForm2.Hide
  Unload UserForm2
  UserForm1.Show
End Sub

【问题讨论】:

  • “几乎不起作用”是什么意思?我不完全确定您为什么要从其 Terminate 事件内部尝试 HideUnload 一个表单 - 该事件触发响应被卸载。

标签: excel vba userform


【解决方案1】:

跳过formName.Hide 行。它们是不必要的。

Unload formName 语句之后添加:

Set formName = Nothing

另外,将otherForm.Show 行放在上述两行之前。

【讨论】:

【解决方案2】:

试试这个代码:

代码 Userform1:

Private Sub ShowUserform2_Click()
    UserForm1.Hide
    UserForm2.Show
End Sub

代码 userform2:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    UserForm1.Show
End Sub

【讨论】:

  • 嗨纳德!您的代码只会重复一次。第二次出现错误“运行时错误'400'”。 - @Nader Nagazi
  • 你能和我分享你的文件吗?
  • 我的文件正是你的代码文本,没有多余的东西。 Bill Hileman 给出了正确答案。感谢您离开的时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多