Olá Guys, Eu criei um script em VBA, de forma que em cada iteração minha forma desce uma linha para cada folha enquanto a forma abaixo sobe, criando um efeito de destaque na folha.
Na execução, minhas formas são alinhadas uma em cima da outra, porem no loop 2, tudo funciona corretamente
Sub MenuFormatador()
Dim inicio As Range
Dim posAtual As Range
Dim posFinal As Range
Dim coorFinal_X As Double
Dim coorFinal_Y As Double
Dim estiloFocus As Shape
Dim estiloEstatico As Shape
Dim fontFocus As Shape
Dim fontEstatico As Shape
ActiveSheet.Range("O12").Select
For I = 2 To 5
'ActiveWorkbook.Worksheets(I).Select
Set posAtual = Selection 'Posicao Inicial como referencia
Set posFinal = posAtual.Offset(2, 0) 'Posicao abaixo, proximo item
coorFinal_X = posFinal.Left 'Coordenada Horizontal
coorFinal_Y = posFinal.Top 'Coordenada Vertical
' Seleciona os objetos shapes
Set estiloEstatico = Worksheets(I).Shapes("estatico-" & I)
Set estiloFocus = Worksheets(I).Shapes("focus")
' Seleciona o oibjeto Font
Set fontFocus = Worksheets(I).Shapes("titulo-" & I - 1)
Set fontEstatico = Worksheets(I).Shapes("titulo-" & I)
' Movimenta o Focus para baixo
estiloFocus.Left = coorFinal_X
estiloFocus.Top = coorFinal_Y
' Altera a cor para do destaque para estatico
fontFocus.TextFrame2.TextRange.Characters.Font.Fill.ForeColor.RGB = RGB(98, 114, 164)
' Movimenta o Estatico para baixo
estiloEstatico.Top = posAtual.Top
estiloEstatico.Left = posAtual.Left
'Altera a cor para do estilo estatico (padrao) para destaque
fontEstatico.TextFrame2.TextRange.Characters.Font.Fill.ForeColor.RGB = RGB(248, 248, 242)
' Reseta o ponto de refencia
posFinal.Select
Next I
End Sub