Em seu modelo, reduzi as figuras para 90% do tamanho original, e "setei" a propriedade mover com a celula .
Utilizei a rotina abaixo:
Sub AlteraImagem()
'Altera tamanho da imagem para 90% do tamanho original, e "seta" propriedade mover com celula
Dim sh As Shape
With Sheets("VENDA")
For Each sh In ActiveSheet.Shapes
sh.Select
Selection.ShapeRange.ScaleHeight 0.9, msoFalse, msoScaleFromTopLeft
Selection.Placement = xlMoveAndSize
Next
Range("A1").Select
End With
End Sub
Depois alterei os nomes das imagens conforme a celula "B"
Sub RenomeiaImagem()
'Altera nome da figura, conforme celula da coluna "B", caso seja necessário reordenar as imagens.
Dim sh As Shape
With Sheets("VENDA")
For Each sh In ActiveSheet.Shapes
sh.Select
sh.Name = .Cells(Selection.TopLeftCell.Row, 2).Value
Next
Range("A1").Select
End With
End Sub
Por fim centralizei as imagens nas celulas
Sub AjustaCentro()
'Ajusta/Ancora imagem centralizado na Celula
Dim OverCells As Range, Shp As Shape
Dim x As Integer
For Each Shp In ActiveSheet.Shapes
ActiveSheet.Shapes.Range(Array(Shp.Name)).Select
x = Selection.TopLeftCell.Row
Set OverCells = Range("A" & x)
With OverCells
Shp.Left = .Left + ((.Width - Shp.Width) / 2)
Shp.Top = .Top + ((.Height - Shp.Height) / 2)
End With
Next
Range("A1").Select
End Sub
Então ao reordenar a planilha as imagens seguiram normais. Teste
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 12/11/2015 7:33 am