2010-04-13 12 views
0

J'ai plusieurs formes et cases à cocher dans une feuille de calcul. Je veux créer une fonction qui place une forme particulière à l'avant (un ordre Z plus élevé que ses pairs) lorsque sa case à cocher correspondante est cliquée. C'est le code que j'ai actuellement:Problème avec Z-Order

Sub CheckBox3_Click() 
If CheckBox3.Value = True Then 
Sheet1.Shapes("blueoval").ZOrder msoBringToFront 
End If 
End Sub 

Je reçois l'erreur d'exécution '424' chaque fois que j'exécute ce code. Je suis nouveau à VBA pour Excel, donc toute aide serait grandement appréciée. Quel est le problème avec ce code? Qu'est-ce qui manque? etc. Merci!

Répondre

0

Votre code fonctionne pour moi.

Vérifiez que:

Votre case à cocher est un contrôle ActiveX et non un contrôle de formulaire. Le nom de la case à cocher est CheckBox3. Vous avez une forme sur Sheet1 appelée blueoval. Le nom de la feuille avec l'ovale bleu est en fait Sheet1 (vérifiez cela dans Visual Basic Editor). Dans Visual Basic Editor, sélectionnez Outils> Références et assurez-vous qu'il n'y a aucune référence marquée MISSING. Votre code est sur la feuille de travail où la case à cocher est et non dans un module séparé.