Я вставил кучу прямоугольников в таблицу. Они называются:

Прямоугольник с 1 по прямоугольник 172

Есть ли какой-нибудь код, который я мог бы использовать, чтобы изменить цвет заливки и линии? Я бы назначил код другой кнопке, которая изменит его.

1 ответ1

1

посмотрим, будет ли это соответствовать вашим потребностям, чтобы каждый прямоугольник вызывал этот макрос

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

Вот альтернатива. Конечно, ваши номера кнопок могут отличаться, так что поправьте это.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .