2010-03-06 28 views
2

J'espère que c'est un problème relativement facile, bien que j'ai passé des heures de recherche sur le Web et en utilisant T & E en vain. J'espère que quelqu'un peut aider; o)Impossible de lire la valeur d'un clic d'un bouton d'un formulaire utilisateur

J'ai un module Excel qui montre un UserForm pour obtenir quelques données d'entrée avant de faire beaucoup de traitement. Au bas du formulaire d'utilisateur se trouvent deux boutons de commande intitulés "OK" et "Annuler". Je dois pouvoir faire changer l'utilisateur par les boutons d'option, puis cliquer sur OK ou sur Annuler pour quitter, où mon module continuera le processus basé sur Je n'ai pas réussi à trouver un moyen de lire un résultat booléen en appuyant sur le bouton Annuler du formulaire, je suis sûr à 99% qu'il s'agit d'une erreur de référencement public/privé, mais Je ne l'ai pas assez d'expérience gagné pour le comprendre encore Voici les extraits de code:.


(de Module1)

Sub ModuleName() 

Dim State as Boolean 
' Display Parameter box 
UserForm2.Show 
If UserForm2.ButtonCancel Then 
    State = True 
Else 
    State = False 
End If 

End Sub 

Basé sur le BOF Vrai ou faux m l'annulation, je peux conduire le reste de la procédure.


(code UserForm2)

Private Sub ButtonCancel_Click() 

BtnCancel = True 

Unload Me 

End Sub 

Private Sub ButtonOK_Click() 

BtnCancel = False 

Unload Me 

End Sub 


Private Sub ButtonReset_Click() 

'Set the Default Settings 

NEAlias.Value = "True" 

NoteIgnore.Value = "True" 

ABIgnore.Value = "True" 

LinkIgnore.Value = "True" 

End Sub 

Private Sub UserForm_Initialize() 

Dim BtnCancel As Boolean 

'Add the Text to the options 

NEIgnore.Caption = "Ignore" 

NoteIgnore.Caption = "Ignore" 

ABIgnore.Caption = "Ignore" 

LinkIgnore.Caption = "Ignore" 

NEAlias.Caption = "Alias Only" 

NoteAlias.Caption = "Alias Only" 

ABAlias.Caption = "Alias Only" 

LinkAlias.Caption = "Alias Only" 

NEMove.Caption = "Move and Alias" 

NoteMove.Caption = "Move and Alias" 

ABMove.Caption = "Move and Alias" 

LinkMove.Caption = "Move and Alias" 

'Set the Default Settings 

NEAlias.Value = "True" 

NoteIgnore.Value = "True" 

ABIgnore.Value = "True" 

LinkIgnore.Value = "True" 

End Sub 

Voilà. On dirait que ça devrait être simple mais je suis perplexe. TIA pour toute aide!

Répondre

3

[RESOLU] J'ai finalement pensé. Je voulais juste cette déclaration dans les déclarations Section de Module1:

BtnCancel public As Boolean

+1

bienvenue à SO! Vous pouvez aller de l'avant et accepter votre réponse pour que les autres sachent comment cela a été résolu. – guitarthrower