セルの背景色を変更するVBAコード

スポンサーリンク

背景色変更はシートの加工でよく使用される

前回のセルのフォントを変更するVBA(マクロ)と合わせて使用することが多いのがセルの背景色を変更するVBA(マクロ)です。
今回はセルの背景色を変更するVBA(マクロ)を紹介します。

背景色を変更するVBA(マクロ)

通常背景を変更するVBAコード(マクロ)は以下のようになります。

Sub 背景色変更()
Cells(1, 1). Interior.Colorindex = 3
End Sub

フォントの変更の時と同じく、変更する色についてはColorindexで指定しても大丈夫ですし、色の種類を増やしたいなら以下のようにColorプロパティで指定します。Colorindexで指定する場合は56色からしか選択できません。

Sub 背景色変更2()
Cells(1, 1). Interior.Color= RGB(255, 0, 0)
End Sub

スポンサーリンク

背景色をグラデーションにする

グラデーションにする場合はどういうタイプのグラデーションにするか、条件を記載していきます。

わかりやすくするためにWithステートメントを使って省略しています。

Sub 背景色を直線型のグラデーションにする()
With Cells(1, 1).Interior
.Pattern = xlPatternLinearGradient‘直線で境界が入るグラデーション
.Gradient.Degree = 90‘角度は90度
.Gradient.ColorStops.Clear‘登録されている書式は一度削除する
.Gradient.ColorStops.Add(0).Color = RGB(255, 0, 0) ‘1色目は赤
.Gradient.ColorStops.Add(1).Color = RGB(255, 255, 255) ‘2色目は白
End With
End Sub

背景を長方形タイプのグラデーションにするには次のように記載します。

Sub 背景色を長方形型のグラデーションにする()
With Cells(1, 1).Interior
.Pattern = xlPatternRectangularGradient‘長方形で境界が入るグラデーション
.Gradient.RectangleLeft = 0.5
‘グラデーションの開始位置の左端からの位置を指定(0~1の間で指定)
.Gradient.RectangleTop = 0.5
‘グラデーションの開始位置の上端からの位置を指定(0~1の間で指定)
.Gradient.ColorStops.Clear‘登録されている書式は一度削除する
.Gradient.ColorStops.Add(0).Color = RGB(255, 0, 0) ‘1色目は赤
.Gradient.ColorStops.Add(1).Color = RGB(255, 255, 255) ‘2色目は白
End With
End Sub

あまりグラデーションは使用する機会はないかもしれませんが、せっかく調べたので、記載しておきます。

おすすめ書籍 (広告)

コメント