Excel

【Excel】VBAマクロで条件付き書式で数式を使用して(変数・文字列・if:範囲:セル等)処理する書き方

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、VBAマクロで条件付き書式で数式を使用して(変数・文字列・if:範囲:セル等)処理する書き方について詳しく解説します。

特にRange、If、FormatConditions関数の使い方に注目していきます。

初心者の方でも理解しやすいように変数名は少し変わったものにしています。

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

VBAマクロで条件付き書式を設定する方法【B列が「じゃんけん」という文字列だったら、行全体を水色にする】

それではまず、特定の文字列に応じて行全体の色を変更する条件付き書式の設定方法について見ていきましょう。

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


Sub SetConditionalFormattingJanken()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    ws.Cells.FormatConditions.Delete
    With ws.Range("A1:Z10").FormatConditions.Add(Type:=xlExpression, Formula1:="=$B1=""じゃんけん""")
        .Interior.Color = RGB(173, 216, 230)
    End With
End Sub

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

このコードでは、実際に条件付き書式を適用させ、B列の各セルに「じゃんけん」という文字列が含まれる場合、その行全体を水色にします。

 

VBAマクロで条件付き書式を設定し範囲を指定する方法【C列が「めんつゆ」という文字列だったらB~E列のみを赤くする】

続いて、特定の列に特定の文字列がある場合に限定した範囲の色を変更する条件付き書式の設定方法を見ていきます。

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


Sub SetConditionalFormattingMentsuyu()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    ws.Cells.FormatConditions.Delete
    With ws.Range("B1:E10").FormatConditions.Add(Type:=xlExpression, Formula1:="=$C1=""めんつゆ""")
        .Interior.Color = RGB(255, 0, 0)
    End With
End Sub

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

このコードでは、実際にエクセルシートに条件付き書式を適用させ、C列で「めんつゆ」という文字列が見つかった場合に、B列からE列までの範囲を赤色に変更するものとなっております。

 

まとめ VBAマクロで条件付き書式で数式を利用して(文字列・if:範囲:セル等)処理する書き方

この記事では、VBAマクロで条件付き書式で数式を使用して(変数・文字列・if:範囲:セル等)処理する書き方について確認しました。

マクロをマスターしてさらに快適な日々を送っていきましょう!!(^^)/