2013-05-14 79 views
1

我有一个用户窗体可以填写,但只有在前面的用户窗体被填充,因为基于上一个输入的用户窗体中有计算,并且如果这些是空的,则计算会崩溃。用户窗体禁用所有字段

现在我写了一些if语句来检查这些空值,然后有一个大脑闪烁..如果其中一个字段丢失,那么该用户窗体只是被禁用。因此认为,这样做,它的工作原理:)

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

这是形式和它精美的显示出来,没有什么可以改变的,但是哦~~ ..你不容甚至关闭的形式,没有什么工作..哈哈。

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

Private Sub Cancel_Click() 
Unload reportback 
End Sub 
+0

对我来说不太清楚.. – matzone 2013-05-14 00:44:54

回答

4

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

Dim ctrl As Control 

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

Set ctrl = Nothing 
+0

Tx。永远都不会想到自己。 – Haissam 2013-05-14 01:06:45

+0

@Haissam欢呼! – Santosh 2013-05-14 01:08:13

相关问题