分页: 1 / 1

EXCEL VBA 各种疑难问题解决方案

发表于 : 周三 8月 26, 2020 4:43 pm
peng
本帖是EXCEL VBA 各种疑难问题解决方案。

Re: EXCEL VBA 各种疑难问题解决方案

发表于 : 周三 8月 26, 2020 4:45 pm
peng
问题:
想给组合框赋值时即当执行语句combobox1.value=5前,临时禁用组合框的change事件,但用Application.EnableEvents = False不管用,请高手指点!!!

解决:
Public kk As Boolean
Private Sub ComboBox1_Change()
If Not kk Then Exit Sub
MsgBox "OK"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
kk = False
Sheet1.ComboBox1.Value = Target.Row
End Sub

Re: EXCEL VBA 各种疑难问题解决方案

发表于 : 周四 1月 14, 2021 7:34 pm
peng
excel - 打开窗体窗口时,如何使代码在VBA中运行?

在Excel VBA中,我想按一个按钮,运行一些代码,然后在代码运行时出现一个窗体窗口,显示诸如“代码正在运行,请等到完成。单击停止按钮以终止代码”。

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

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


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

通过选择用户窗体并将ShowModal属性更改为False
或通过将modal属性设置为0(vbModeless)打开用户窗体