2016-03-11 1 views
0

J'ai ce problème pour supprimer une forme dans Excel avec vba. Excel donne tout le temps le nom différent à ces formes, thatswhy j'obtiens l'erreur sur cette ligne: Ici Activesheet est ma feuille ouverte et le connectgor ​​1 droit est le nom de la forme, il est réglé comme "connecteur droit 1" mais quand je réutilise le macro, il ne peut pas être trouvé.le nom de la forme change tout le temps je ne peux pas le trouver

ActiveSheet.Shapes.Range(Array("Straight Connector 1")).Select 
Selection.Delete 

Il ne peut pas trouver l'élément si j'utilise à nouveau la macro. Que dois-je faire pour cela?

Répondre

2

utiliser la collection activtsheet.shapes

Sub connector_delete() 

Dim s As Shape 

For Each s In ActiveSheet.Shapes 
    If s.AutoShapeType = msoShapeMixed And s.Name Like "*Connector*" Then 
     s.Delete 
    End If 
Next s 


End Sub