Interessante o tratamento do Excel 2007 em relação a Shapes e principalmente ao WordArt, estive acompanhando o post e fiquei intrigado quando julio disse que a rotina que o Alexandre indicou não havia funcionado, e como não utilizo muito a v 2007 fiz o teste no 2003 e funcionou corretamente, depois fiz o tese na v 2007 e realmente não funciona.
Em pesquisa, descobri que o Tipo para WordArt é o 15, mas isto somente na V 2003, onde é inserido com o nome padrão "WordArt 1" ...., na V 2007 é Inserido com o nome de "Retangle 1", 2, .... e é associado o tipo 1 pçara vários tipos de controles diferentes.
Encontrei varios tópicos na internet e acabei fazendo uma adaptação, só me esqueci de guardar as fontes, mas não será dificil encontrar.
Como o Edcronos citou, uma vez que na V 2007 é inserido como "Retangle" devemos utilizar da forma que ele indicou, mas como citou que são vários WordArts, e cada um assume um numero diferente, pode estar utilizando a seguinte rotina, isto se não renomeou as formas :
Sub DeletaWordArts()
Dim sShapes As Shape, lLoop As Long
Dim wsStart As Worksheet
Set wsStart = ActiveSheet
'Loop through all shapes on active sheet
For Each sShapes In wsStart.Shapes
'Increment Variable lLoop for row numbers
lLoop = lLoop + 1
With sShapes
sNmShp = sShapes.Name
SpacePos = InStr(sNmShp, " ")
FirstName = Left(sNmShp, SpacePos - 1)
If FirstName = "Rectangle" Then
' sShapes.Visible = False
sShapes.Delete
End If
End With
Next sShapes
End Sub
Para ilustrar melhor, o modelo abaixo tem uma rotina que cria uma nova aba e relaciona todos os shapes inseridos na aba Sheet1 com os devidos nomes, tipos e propriedades.
Relacionar Tipos, Nomes e propriedades Shapes v2007
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 20/06/2014 12:15 pm