2010-04-09 8 views
0

J'essaye d'écrire une macro dans VBA (Excel) qui est assignée à une case à cocher. Chaque fois que la case est cochée, une "forme automatique" changera sa "commande" de "Envoyer vers l'arrière" vers "Envoyer vers l'avant". Fondamentalement, j'essaye de créer un tableau de bord avec plusieurs panneaux, de sorte que les utilisateurs puissent accéder à l'information sans passer d'une feuille à l'autre. Chaque panneau aura une forme automatique rectangulaire comme arrière-plan et les composants du panneau seront "groupés" dans l'autoshape.Manipuler des "formes automatiques" excel avec VBA

Est-ce que cela peut être fait? J'apprécierais grandement des idées dans l'écriture du code.

Merci,

Répondre

2

Je ne suis pas tout à fait suivant votre objectif plus grand, mais pour apporter une forme à l'utilisation avant ceci:

If MyCheckBox.Value = True Then 
    MySheetName.Shapes("MyShapeName").ZOrder msoBringToFront 
End If 

Vous devez sélectionner votre mouvement ZOrder désiré de la MsoZOrderCmd énumération et votre code doit être dans la routine d'événement Change pour votre contrôle case à cocher.


EDIT:

Vous pouvez également faire référence à la forme par son numéro d'index. Par exemple:

MySheetName.Shapes(0).ZOrder msoBringToFront 

De plus, pour obtenir le nom d'une forme, soit cliquez et regardez dans le nom de la boîte dans le coin supérieur gauche d'Excel (sous les barres d'outils), ou itérer à travers toutes les formes comme si :

Sub Macro1() 

Dim MyShape As Shape 

For Each MyShape In Sheet1.Shapes 

    Debug.Print MyShape.Name 

Next MyShape 

End Sub 
+0

Sous CheckBox3_Click() Si CheckBox3.Value = True Then Sheet1.Shapes ("blueoval") ZOrder msoBringToFront End If End Sub Voici le code que je suis entré dans .. Pourquoi. est-ce que j'obtiens un Run Time Error 424? – AME

+0

En supposant que vous obtenez cette erreur lors du réglage de la Zorder, cela signifie que VBA ne peut pas trouver une forme par le nom de "blueoval". Vous êtes sûr que c'est le nom de la forme? Vous êtes sûr que c'est sur Sheet1? –