• ベストアンサー

VBA

エクセルVBAの質問です。 条件付書式で、今日の日付以上だとピンクの網掛けにする。 としました。 だけど、これだと空白のセルにもピンクが塗られてしまいます。 空白は何も色を塗らないとするにはどうするのですか。 以上の全てのことができるVBAプログラミングの式はどう書くか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

では、日付が入力されたセル限定で、今日の日付以上だとそのセルをピンクに塗りつぶすというVBAの例です。 Sub test() Dim c As Range With ActiveSheet For Each c In .UsedRange If IsDate(c) Then If c >= Date Then c.Interior.ColorIndex = 7 c.Interior.Pattern = xlSolid End If End If Next End With End Sub

t02n
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

こんにちは。 > これだと空白のセルにもピンクが塗られてしまいます。 条件付き書式ですが、設定する数式を工夫すると良いかと思います。 一例)「数式が」「=AND(A1<>"",A1>TODAY())」 ご参考までに。

t02n
質問者

お礼

ありがとうございます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

#1です。 こっちのほうがいいかも・・・。 Sub test() Dim c As Range With ActiveSheet For Each c In .UsedRange If IsDate(c) Then c.Interior.Pattern = xlSolid If c >= Date Then c.Interior.ColorIndex = 7 Else c.Interior.ColorIndex = 0 End If End If Next End With End Sub