Userform禁用所有字段

Hai*_*sam 2 excel vba excel-vba

我有一个可以填写的用户表单,但只有填写了以前的用户表单,因为在用户表单中根据先前的输入进行了计算,如果这些是空的,则计算崩溃.

现在我写了一些if语句来检查这些空值然后有一个大脑闪存..如果其中一个字段丢失,用户表单只是禁用了怎么样.所以想,这样做,它的工作:)

if DP1 = "" then
reportback.enable = false
else
end if
Run Code Online (Sandbox Code Playgroud)

这是形式,它显示出美丽,没有任何东西可以改变,但哦......你甚至不能关闭表格,没有任何作用..哈哈.

所以我的问题.有没有办法从任何输入禁用所有字段但仍然有取消按钮激活?

Private Sub Cancel_Click()
Unload reportback
End Sub
Run Code Online (Sandbox Code Playgroud)

San*_*osh 5

使用下面的代码禁用表单上的所有控件以避免此问题.UserForm1指的是Userform的名称,请相应地替换.

Dim ctrl As Control

For Each ctrl In UserForm1.Controls
    ctrl.Enabled = False
Next

Set ctrl = Nothing
Run Code Online (Sandbox Code Playgroud)