2013-05-14 3 views
1

J'ai un formulaire utilisateur qui peut être rempli, mais seulement si un formulaire utilisateur précédent a été rempli car il y a des calculs dans le formulaire utilisateur basé sur l'entrée précédente et si ceux-ci sont vides, les calculs échouent.Userform désactiver tous les champs

Maintenant, j'ai écrit quelques instructions if qui vérifient ces valeurs vides et qui ont ensuite un flash cérébral. Que se passe-t-il si l'un des champs est manquant, le userform est simplement désactivé. Ainsi pensait, donc fait et cela fonctionne :)

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

C'est la forme et il montre magnifiquement et rien ne peut être changé, mais Ohhh .. vous ne pouvez pas même fermer la forme, rien ne fonctionne .. lol .

Donc, ma question. Y a-t-il un moyen de désactiver tous les champs d'une entrée, mais le bouton d'annulation reste actif?

Private Sub Cancel_Click() 
Unload reportback 
End Sub 
+0

Pas trop clair pour moi .. – matzone

Répondre

4

Utilisez le code ci-dessous pour désactiver tous les contrôles de votre formulaire afin d'éviter le problème. UserForm1 fait référence au nom de Userform veuillez remplacer en conséquence.

Dim ctrl As Control 

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

Set ctrl = Nothing 
+0

Tx. Je ne l'aurais jamais compris moi-même. – Haissam

+0

@Haissam acclamations !!! – Santosh

Questions connexes