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!
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