Excel

【Excel】VBAマクロでセルの背景色を変える・塗りつぶし無しにする方法【範囲指定や選択したセル】

当サイトでは記事内に広告を含みます。

この記事ではExcelのVBAマクロを使用して、セルの背景色を変更する方法や、塗りつぶしを無しにする方法について解説していきます。

ポイントとしては`Range`, `Interior`, `ColorIndex`関数の使用です。

これらを駆使することで、特定の範囲のセル、シート全体のセル、選択したセルの背景色を自由に変更できます。

マクロ初心者でも理解しやすいように、変数名を「aaaaa変数aaaaa」という形式で統一しています。

実際の作業時には、これらを適切な英語表記に置き換えてご活用ください。

それでは、詳しく見ていきましょう!

VBAマクロでセルの背景色(塗りつぶし)を変える方法【B2〜E5セルまでのセルを青色に変更】

それではまず、B2〜E5セルまでのセルを青色に変更する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub ChangeBackgroundColor()
    Dim aaaaaRangeaaaaa As Range
    Set aaaaaRangeaaaaa = ThisWorkbook.Sheets("Sheet1").Range("B2:E5")
    aaaaaRangeaaaaa.Interior.Color = RGB(0, 0, 255) ' 青色に設定
End Sub

コードのAlt+F8を押し、マクロ選択画面でChangeBackgroundColor関数を実行します。

このコードでは、`Range`オブジェクトを使ってB2からE5までの範囲を指定しています。

`Interior.Color`プロパティにRGB関数を用いて青色を指定することで、選択した範囲の背景色を青色に変更しています。

VBAマクロでシート全体の背景色を塗りつぶし無しに変える方法【シート1】

続いては、シート全体の背景色を塗りつぶし無しに変える方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub ClearSheetBackground()
    With ThisWorkbook.Sheets("Sheet1").Cells
        .Interior.ColorIndex = xlNone ' 背景色を塗りつぶし無しに設定
    End With
End Sub

コードのAlt+F8を押し、マクロ選択画面でClearSheetBackground関数を実行します。

このコードでは、`Cells`プロパティを用いてシート1の全セルを対象にしています。

`ColorIndex`プロパティに`xlNone`を指定することで、シート全体の背景色を塗りつぶし無し(つまり透明)に設定しています。【Cells, ColorIndex】

VBAマクロで選択セルのみの背景色を赤色に変える方法

最後に、選択セルのみの背景色を赤色に変える方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

< code>
Sub ChangeSelectedCellsColor()
    Dim aaaaaSelectedCellsaaaaa As Range
    Set aaaaaSelectedCellsaaaaa = Selection
    aaaaaSelectedCellsaaaaa.Interior.Color = RGB(255, 0, 0) ' 赤色に設定
End Sub

コードのAlt+F8を押し、マクロ選択画面でChangeSelectedCellsColor関数を実行します。

ここでは、`Selection`オブジェクトを使って現在選択されているセル範囲を取得し、その範囲の`Interior.Color`プロパティにRGB関数を用いて赤色を設定しています。

これにより、選択したセルの背景色を赤色に変更できます。

まとめ