Вот такой макрос выберет из всех шейпов на активной странице те, которые лежат на слое ob и впишет в них нужные формулы.
Sub ttt()
For Each Shape In ActivePage.Shapes
If (Shape.LayerCount > 0) Then
If StrComp(Shape.Layer(1).Name, "ob") = 0 Then
Shape.CellsSRC(visSectionObject, visRowFill, visFillForegndTrans).FormulaU = "50%"
Shape.CellsSRC(visSectionObject, visRowFill, visFillForegnd).FormulaU = "IF(STRSAME(Prop.State,""в эксплуатации""),RGB(0,255,0),IF(STRSAME(Prop.State,""резерв""),RGB(255,255,0),IF(STRSAME(Prop.State,""ремонт""),RGB(255,0,0),RGB(0,0,0))))"
End If
End If
Next
End Sub