如何在表单窗口打开时保持代码在VBA中运行?

时间:2016-02-18 14:46:07

标签: excel forms vba button

在Excel VBA中,我想按下一个按钮,运行一些代码,当代码运行时,会出现一个表格窗口,上面写着" Code正在运行,请等到完成。单击停止按钮以终止代码。"

但每次我。显示代码停止的表单,等待表单窗口关闭然后继续。有没有办法强制代码在窗体窗口打开时继续运行? 谢谢!

已回答:在.Show结尾处添加(False)或将表单的ShowModal属性更改为False。然后在fmRunning.Show(False)之后添加Application.Wait(Now + TimeValue(" 0:00:01"))。或插入" DoEvents"而不是Application.Wait 谢谢大家!!

2 个答案:

答案 0 :(得分:5)

您需要将userform设置为无模式。这可以通过两种方式完成:

  • 通过选择userform并将ShowModal属性更改为False
  • 或打开userform并将modal属性设置为0(vbModeless)
<button type="submit" ngf-select="vm.uplo..." ngf-multiple="false" ngf-max-height="1000" ngf-max-size="5MB">Upload</button>

有关详细信息,请参阅MSDN

答案 1 :(得分:0)

仅使用Userform.Show vbModeless可以导致空白表格。 您还应该使用命令Userform.Repaint。这将刷新表单上的信息。示例:

Userform.Show vbModeless
Userform.Caption = "Some text"   'change the Caption text
Userform.Repaint   'refresh changes

这样您应该可以看到更改