veja se isso vai se adaptar às suas necessidades, faça cada retângulo chamar essa macro
Sub doRectChange()
Dim c
c = Application.Caller
MsgBox (c)
With ActiveSheet.Shapes(c)
.Fill.ForeColor.SchemeColor = 3
.Fill.Transparency = 0#
.Line.Weight = 3#
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = 6
End With
End Sub
Aqui está uma alternativa É claro que os números dos seus botões podem ser diferentes, então ajuste para isso.
Sub allRectanglesColor()
Dim c
Dim color
c = Application.Caller
'MsgBox (c)
Select Case c
Case "Button 1"
color = 10
Case "Button 2"
color = 12
Case "Button 3"
color = 17
End Select
ActiveSheet.Rectangles.Select
With Selection.ShapeRange
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.SchemeColor = color
End With
End Sub