Excel

【Excel】VBAマクロで色付け(行方向や列方向、条件付き書式使用の場合も)【Range, Cells, Conditional Formatting】

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

この記事では、VBAマクロで色付け(行方向や列方向、条件付き書式使用の場合も)【Range, Cells, Conditional Formatting】について解説していきます。

ポイントとしてはRangeオブジェクト、Cellsプロパティ、Conditional Formattingを使用することです。

特に初心者の方にも理解しやすいよう、変数名を独特な名称にしています。

なお、実際の使用時には、より適切な英語の変数名に変更することをおすすめします。

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

 

VBAマクロで行方向に色付けする方法(条件付き書式を使用せず)

それではまず、行方向の色付けについて解説していきます。

この方法は条件付き書式を使用せずに、指定した行全体に色を適用します。


Sub IroZukeGyoko()
    Dim hensuuRow As Integer
    hensuuRow = 5 ' 色を付けたい行番号

    With ThisWorkbook.Sheets("Sheet1").Rows(hensuuRow)
        .Interior.Color = RGB(255, 255, 0) ' 色を黄色に設定
    End With
End Sub

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

コードのAlt+F8を押し、マクロ選択画面でIroZukeGyoko関数を実行します。この関数は指定した行のセルに色を塗ります。

色の変更はRGB関数で行うことができ、ここでは黄色に設定しています。

 

VBAマクロで行方向に色付けする方法(条件付き書式を使用)

続いては、条件付き書式を使用した行方向の色付けについて解説していきます。

この方法では、指定した条件に基づいて自動的に色を適用することができます。


Sub IroZukeGyokoJoken()
    Dim hensuuSheet As Worksheet
    Set hensuuSheet = ThisWorkbook.Sheets("Sheet1")
    Dim hensuuRange As Range
    Set hensuuRange = hensuuSheet.Range("A1:A10") ' 条件付き書式を適用する範囲

    With hensuuSheet.Rows(hensuuRange.Row)
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=5"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions(1).Interior
            .Color = RGB(255, 199, 206) ' 色を薄い赤に設定
        End With
    End With
End Sub

Alt + F11でVBE画面を開き、上記コードをコピペしましょう。

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

このマクロはセルの値が5より大きい場合に、その行を薄い赤色でハイライトします。

 

VBAマクロで列方向に色付けする方法(条件付き書式を使用)

最後に、列方向の色付けについて解

説していきます。こちらも条件付き書式を使用して、特定の条件を満たしたセルに色を適用する方法です。


Sub IroZukeRetsukoJoken()
    Dim hensuuSheet As Worksheet
    Set hensuuSheet = ThisWorkbook.Sheets("Sheet1")
    Dim hensuuRange As Range
    Set hensuuRange = hensuuSheet.Columns("B") ' 条件付き書式を適用する列

    With hensuuRange
        .FormatConditions.Add Type:=xlExpression, Formula1:="=AND(ISNUMBER(B1),B1>10)"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions(1).Interior
            .Color = RGB(0, 255, 0) ' 色を緑に設定
        End With
    End With
End Sub

Alt + F11でVBE画面を開き、上記コードをコピペしましょう。コードのAlt+F8を押し、マクロ選択画面でIroZukeRetsukoJoken関数を実行します。

このコードは、B列の数値が10より大きい場合に、そのセルの背景を緑色に変更します。

 

まとめ VBAで色付け(条件付き書式:行や列など)【Range, Cells, Conditional Formatting】

この記事では、VBAマクロで色付け(行方向や列方向、条件付き書式使用の場合も)【Range, Cells, Conditional Formatting】について確認しました。

各関数【IroZukeGyoko】【IroZukeGyokoJoken】【IroZukeRetsukoJoken】を活用して、効率的に作業を進めることができます。

マクロを活用してより効率的に業務をこなしていきましょう!(^^)/