2010-11-12 28 views
1

J'ai plusieurs boutons de commande dans une feuille différente. Maintenant je veux que l'utilisateur puisse courir tout à la fois si désiré. Par conséquent, je veux utiliser un nouveau CommandButton qui exécute tous les boutons de commande dans toutes les feuilles de calcul. Cependant j'obtenir un AllWays message..I d'erreur ont des approches et n'ont pas fonctionné pour moi:Cliquez sur CommandButton dans une autre feuille de calcul en cliquant sur un autre bouton de commande

courir les sous-marins:

Private Sub CommandButtonX_Click() 


run CommandButtonY_Click 

run CommandButtonZ_Click 

etc. 

end sub 

..Nothing se passe-t

Mon autre approche est de choisir toutes les feuilles et « activer le bouton commmand », qui est toujours appelé CommandButton1_Click mais je ne pas encore savoir comment faire

Ce fut mon approche:

Sheets(Array("AA", "BB", "CC",etc.).Select 
    Sheets("AA").ActivateCall 

Call CommandButton1_Click 

End Sub 

Je suis nouveau à ce sujet, donc je voudrais vraiment aprécier votre aide!

Merci!

Jens

Répondre

3

C'est une opinion purement design, mais j'essayer de faire face à ce problème d'une manière différente.

Ma préférence serait d'avoir mes sous-programmes dans un module séparé et de les appeler simplement à partir d'un bouton. Autrement dit, l'événement _CLICK ressemble simplement quelque chose comme ceci:

Private Sub Command1_Click() 
    Call DoSomeStuff 
End Sub 

Alors que dans un module distinct tous mes sous-marins sont regroupés en conséquence:

Sub DoSomeStuff() 
    Sheet1.Range("A1").Value = "Hooray for VBA" 
End Sub 

En utilisant cette méthode, vous éviter d'avoir à travailler avec VBA est parfois Dérivé (à mon avis) gestionnaire d'événements et vous pouvez réutiliser les sous-marins avec les arguments appropriés s'ils sont appelés par plusieurs boutons différents.

Ensuite, votre "Bouton Master" appelle simplement tous les sous-marins:

Private Sub Command1_Click() 
    Call DoSomeStuff 
    Call DoSomeMoreStuff 
    Call DoTheFinalStuff 
End Sub 
2

Quel message d'erreur que vous obtenez?

Quelle version d'Excel utilisez-vous?

Ce code fonctionne bien dans Excel 2007 sur Windows 7:

Sub Button1_Click() 
    MsgBox ("Hey there, I'm button 1") 
End Sub 

Sub Button2_Click() 
    MsgBox ("Hey there, I'm button 2") 
End Sub 

Sub Button3_Click() 
    MsgBox ("Hey there, I'm button 3") 
End Sub 

Sub Button4_Click() 
    Button1_Click 
    Button2_Click 
    Button3_Click 
End Sub 

J'ai 3 boutons, chacun sur une autre feuille de calcul, et ils affichent tous un message qui les identifie. Le 4ème bouton se trouve également sur une feuille de travail séparée et affiche les 3 autres messages l'un après l'autre comme prévu.

Pouvez-vous joindre le message d'erreur à votre message?