L'appel de UserForm_Initialize() dans un Module
Comment puis-je appeler UserForm_Initialize()
dans un Module
à la place de l'objet UserForm code objet?
OriginalL'auteur 4 Leave Cover | 2012-12-20
Vous devez vous connecter pour publier un commentaire.
À partir d'un module:
Assurez-vous juste que dans votre formulaire, vous mettez à jour les sous de la sorte:
Public Sub UserForm_Initialize()
de sorte qu'il peut être appelé de l'extérieur de la forme.Alternativement, si l'objet Userform n'a pas été chargé:
UserFormName.Show
finiront par appelerUserForm_Initialize
car il charge le formulaire.Où vous le souhaitez... tout vba dans le classeur dans une Sub ou une Fonction.
Merci pour la méthode de Daniel. Puis-je Me mettre à le laisser s'Initialiser? e.g j'ai eu beaucoup de UserForm(s) et je ne veux pas de code de chacun d'eux.
vous pouvez utiliser un
for each uf in UserForms
boucle?Cher Larry pouvez-vous m'indiquer la méthode?
OriginalL'auteur Daniel
À mon humble avis, la méthode UserForm_Initialize doit rester privé car il est gestionnaire d'événement pour l'événement Initialize de l'objet UserForm.
Ce gestionnaire d'événement est appelé lorsque nouvelle instance de l'objet UserForm est créé. Dans ce même gestionnaire de u permet d'initialiser les membres privés de UserForm1 classe.
Exemple:
Module Standard code:
Utilisateur le code du formulaire:
Je ne comprends pas le sens de l'observation u écrit, désolé. En général u devrait éviter d'appeler UserForm_Initilize() directry car il sera appelé par la classe UserForm1 lui-même comme une réaction à la création de UserForm1. Il est symply un gestionnaire d'événements de sorte qu'il doit gérer l'événement.
1. J'ai if ELSE déclaration Module1 2. Avant de END if, je veux réinitialiser UserForm1 3. Je veux que la fonction "reset" à l'intérieur de la Module1 P. S Désolé pour ma mauvaise explication
C'est OK Tan, mon anglais est mauvais en tant que bien :-). Ne pouvait pas u il vous suffit de poster votre exemple de code?
J'ai résolu mon problème et a posté la solution à ma propre question ci-dessus. Pensez-vous qu'il est bon?
OriginalL'auteur dee
SOLUTION
Après tout ce temps, j'ai réussi à résoudre le problème.
Dans Le Module:
Les Formulaires Utilisateur(Nom).Userform_Initialize
Cette méthode fonctionne mieux dynamiquement init le courant de l'objet UserForm
OriginalL'auteur 4 Leave Cover