図形の枠線の色はLine.ForeColor、塗りつぶしの色はFill.ForeColorから変更します。図形に対しShapeRangeまたはRangeプロパティを使い、ShapeRangeコレクションを取得することで変更可能です。
線の色の変更
図形の線の色を変更
Shapeオブジェクト(またはShapeRangeコレクション).Line.ForeColor.RGB = RGB(R,G,B)
Shapeオブジェクト(またはShapeRangeコレクション).Line.ForeColor.SchemeColor = 色番号
Shapeオブジェクト(またはShapeRangeコレクション).Line.ForeColor.RGB = RGB(R,G,B)
Shapeオブジェクト(またはShapeRangeコレクション).Line.ForeColor.SchemeColor = 色番号

図形「maru」の線の色を変えてみたいと思います。
' vba
' 方法1
ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(255, 0, 0)
' 方法2
ActiveSheet.Shapes.Range("maru").Select
Selection.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
色を変更するには、Line.ForeColor.RGBから直接値を指定します。
プロパティを変更したいので、Shapesコレクションからは行えません。Shapeオブジェクトを取得するか、一度図形を選択して、Selection.ShapeRangeから指定するか、
プロパティを変更したいので、Shapesコレクションからは行えません。Shapeオブジェクトを取得するか、一度図形を選択して、Selection.ShapeRangeから指定するか、
' vba
' 方法3
ActiveSheet.Shapes.Range(Array("maru")).Line.ForeColor.RGB = RGB(255, 0, 0)
Range(Array())の中で図形を指定して色を変更します。
図形の選択について詳しくは別記事参照。
図形の選択について詳しくは別記事参照。

実行結果です。
' vba
ActiveSheet.Shapes.Range(Array("maru")).Line.ForeColor.SchemeColor = 3
色はSchemeColorというプロパティを使って変更することもできます。セルの色変更で使うColorIndexとはまた別の色規格となります。どの番号が何色に当たるかは後述。
塗りつぶしの色の変更
図形の塗りつぶしの色を変更
Shapeオブジェクト(またはShapeRangeコレクション).Fill.ForeColor.RGB = RGB(R,G,B)
Shapeオブジェクト(またはShapeRangeコレクション).Fill.ForeColor.SchemeColor = 色番号
Shapeオブジェクト(またはShapeRangeコレクション).Fill.ForeColor.RGB = RGB(R,G,B)
Shapeオブジェクト(またはShapeRangeコレクション).Fill.ForeColor.SchemeColor = 色番号
' vba
ActiveSheet.Shapes.Range(Array("maru")).Fill.ForeColor.RGB = RGB(0, 255, 0)
線色変更のLineをFillに差し替えれば、図形の塗りつぶしをするコードになります。
複数図形を指定
' vba
ActiveSheet.Shapes.SelectAll
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 255, 0)
図形全部の色をまとめて変更するには、Shapesコレクションを取得してから選択範囲の色を変えます。
' vba
ActiveSheet.Shapes.Range(Array(1, 2)).Fill.ForeColor.RGB = RGB(0, 255, 0)
複数図形をまとめて変更する場合は、Range内で色を変更する図形を個別に指定します。
SchemeColorの色見本
' vba
For i = 1 To 80
With ActiveSheet.Shapes.AddLine(60, Cells(i, 1).Top + 7, 100, Cells(i, 1).Top + 7).Line
.Weight = 10
.ForeColor.SchemeColor = i
End With
Cells(i, 1).Value = i
Next
SchemeColorは1から80まであります。とりあえずコードで全部出力してみると、

色がワーッと出るので、

並べ替えた表がこちらになります。

1~7と9~15がまったく同じだったり、

その後も色被りが頻出するので見た目より使える色少ないですが、それなりの色数があります。

Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。
図形作成・操作...

Excel(エクセル):色、塗りつぶし、スタイル
Excelのセルや文字などの色を変える方法、スタイルを規定する方法のまとめです。
色の変更
セル・文字の色を変更する方法です。基本的にこれ知っとけば応用がききます。パレットにない色の作り方、グラデーションにも言及しています。...

関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
コメント