Userform禁用所有字段

时间:2013-05-14 00:27:57

标签: vba excel-vba excel

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

现在我写了几个if语句来检查这些空值然后有一个大脑闪存..如果其中一个字段丢失,用户表单只是禁用了怎么样。如此思考,如此完成并且有效:)

if DP1 = "" then
reportback.enable = false
else
end if

这是形式,它显示出很漂亮,没有任何东西可以改变,但是哦......你甚至无法关闭表格,没有任何作用。大声笑。

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

Private Sub Cancel_Click()
Unload reportback
End Sub

1 个答案:

答案 0 :(得分:5)

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

Dim ctrl As Control

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

Set ctrl = Nothing