Supprimer toutes les formes dans la feuille de calcul Excel à l'exception des contrôles de formulaire
J'ai une feuille de calcul excel où une macro liée à un bouton attire dynamique des formes basées sur les paramètres d'entrée utilisateur dans la feuille de calcul.
Je suis en train d'écrire une nouvelle macro pour nettoyer la feuille, ou en d'autres termes supprimer toutes les formes dans la feuille de calcul.
J'ai essayé d'utiliser le code ci-dessous, et en effet, elle supprime toutes les formes, cependant bouton de contrôles de formulaire également être supprimés dans le processus. Est-il un moyen facile de seulement de se débarrasser des formes (flèches, des zones de texte, des ellipses, etc.) dans la feuille de calcul? Merci beaucoup!!!
Sub DeleteAllShapes()
Dim Shp As Shape
For Each Shp In ActiveSheet.Shapes
Shp.Delete
Next Shp
End Sub
source d'informationauteur marillion
Vous devez vous connecter pour publier un commentaire.
À supprimer les formes automatiques et des zones de texte uniquement, vous pouvez utiliser:
Vous pouvez également travailler dans l'autre sens et de spécifier les types de ne pas les supprimer. Vous pouvez utiliser les types énumérés, mais c'est plus lisible d'utiliser les noms de type de. L'extrait de code suivant va supprimer tout en dehors de Contrôles de Formulaire et de contrôle OLE des objets.
Une liste complète des MSO Forme de Types.
http://msdn.microsoft.com/en-us/library/office/aa432678(v=office.12).aspx
Ron de Bruin a une bonne collection de fragments qui peuvent être utiles à quelqu'un d'autre de venir à travers cette question.
http://www.rondebruin.nl/controlsobjectsworksheet.htm