ちょっと生きづらさを抱えた人へ、気持ちを楽にするためのお手紙です。

【VBA】条件付き書式設定で数式を入れる

筆箱にカンニングペーパーを入れる係のみすくです。こんにちは。
VBA関連だけまとめたブログもあります。
筆箱VBA

条件付き書式で数式を設定する場合、
セルアドレスをA1形式で書くと自動的に書き直されてしまうため、
R1C1形式で設定します。

例えばB列の値で判定して同じ行に色を付けたい場合、
「R[0]C2」。
A1形式で言うと「$B〇」。

Option Explicit

Private sh As Worksheet

Public Sub main()
    Set sh = ThisWorkbook.Worksheets(1)
    
    Call SetFormatCondition
    
    Set sh = Nothing
End Sub

'---------------------------------------------------------------------------------------------------
'【処 理 名】条件付き書式
'【処理概要】条件付き書式を設定する
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub SetFormatCondition()
    Dim rng As Range
    Dim exp As String
    Dim fc As FormatCondition
    
    '条件付き書式設定をクリア
    sh.Cells.FormatConditions.Delete
    
    '条件付き書式に数式を設定
    exp = "=R[0]C2<=TODAY()"
    
    '条件付き書式設定を設定する範囲
    Set rng = sh.Range("A2:B5")
    '数式を設定
    rng.FormatConditions.Add Type:=xlExpression, Formula1:=exp
    '書式を設定
    Set fc = rng.FormatConditions(1)
    fc.Interior.Color = RGB(255, 255, 0)
    
    Set rng = Nothing
End Sub

コメントを残す

メールアドレスが公開されることはありません。