← コード一覧へ戻る
基本セル・範囲

セルの背景にグラデーションを設定する

A1:C3の各セルの背景に、白から青への横方向グラデーションを設定します。

実行前に確認

  • 元の背景書式を変更します。範囲全体で1つの大きなグラデーションになるわけではありません。

1サンプルコード

Sub Example1196()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    With ws.Range("A1:C3").Interior
        .Pattern = xlPatternLinearGradient
        With .Gradient
            .Degree = 0
            .ColorStops.Clear
            .ColorStops.Add(0).Color = RGB(255, 255, 255)
            .ColorStops.Add(1).Color = RGB(50, 120, 220)
        End With
    End With
End Sub

図で見る操作の流れ

イメージ図

コードの動きを表した概念図です。実際のExcel画面ではありません。

  1. 対象:Sheet1!A1:C3

    各セルの背景を変更する

  2. マクロ:グラデーション設定

    角度0、位置0に白、位置1にRGB(50,120,220)を設定する

  3. 結果:各セルで白→青

    9セルそれぞれに横方向のグラデーションが付く

範囲全体を1枚の大きなグラデーションにはしません。元の背景書式は変更されます。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。A1:C3の列幅と行高を広げると見やすくなります。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。

  3. 3

    Degreeが角度、ColorStopsの0と1が両端の色です。

  4. 4

    マクロ内にカーソルを置いてF5で実行します。各セルが白から青へ滑らかに変化します。

使っている機能の公式ドキュメント(Microsoft Learn)