• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで本日の日付と指定日の差で色分けして付けたいです。)

エクセルVBAで本日の日付と指定日の差で色分けする方法

このQ&Aのポイント
  • エクセルVBAを使用して、本日の日付と指定日との差を計算し、条件に応じてセルの色を変える方法を解説します。日付の関数を使う際に初心者が戸惑うこともありますが、具体的な手順を説明するので安心してください。
  • 質問者は日付の関数について初めて学んでおり、試した方法がうまくいかず困っている状況です。しかし、簡単な問題ではないため、本を読んでも理解するのが難しいと感じています。そこで、エクセルVBAでの日付操作や条件分岐の方法について詳しく教えてもらえるとうれしいとのことです。
  • セルに入力された日付と本日の日付との差を計算し、条件に応じてセルの色を変えるVBAのコードを紹介します。具体的な手順やコードの解説に加え、初心者でも理解しやすいように図解やサンプルデータも用意しています。ぜひ試してみてください。

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

  • ベストアンサー
  • rish1
  • ベストアンサー率100% (1/1)
回答No.1

標準モジュールに貼り付けて実行してください ただし、ろくにテストしていません(笑; Sub test() Dim i As Long, h As Long Dim MyRow As Long MyRow = Range("$A$65536").End(xlUp).Row h = 6 For i = 1 To MyRow Step 2 With Cells(i, 1).Interior .ColorIndex = xlNone End With Next For i = 1 To MyRow Step 2 With Cells(i, 1) If (.Value = Cells(5, 1).Value) _ And .Offset(1).Value = "" Then With .Interior .ColorIndex = 3 .Pattern = xlSolid End With ElseIf ((DateAdd("d", 1, .Value) - DateAdd("d", 1, Cells(5, 1).Value))) > 0 _ And ((DateAdd("d", 1, .Value) - DateAdd("d", 1, Cells(5, 1).Value))) < 8 _ And .Offset(1).Value = "" Then Debug.Print ((DateAdd("d", 1, .Value) - DateAdd("d", 1, Cells(5, 1).Value))) With .Interior .ColorIndex = h .Pattern = xlSolid End With End If End With Next End Sub

spss12
質問者

お礼

返事遅くてすみません。 コードはまったく意味が判りませんが(笑)ちゃんと動きました。 もっと勉強して早くこの様な物を作れるように頑張ります。 ありがとう御座います。

関連するQ&A