2013-05-14 81 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

相關問題