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

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

rish1の回答

  • ベストアンサー
  • 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

  • エクセルで日数の経過を色分けしたい

    OKWaveではもう何度も出ているような質問と思いますが、初心者ですいません。 セルは、例えばA1で結構ですが、初めに記入した日付が「本日」から一ヶ月前は赤色、一ヶ月前~2週間前までは黄色、2週間~1週間前までは緑色というふうに自動で色が変化するようにしたいのです。条件付き書式でやろうと試みたのですがうまくいきませんでした。(入力式がいけないのだと思いますが・・・)できれば「本日」はセルに表示させたくないのですが(これってマクロになるのでしょうか?)

  • EXCELのマクロにより日付経過でセルに着色

    EXCEL2003を使用しています。 K・M・O・Q・S列に日付を入力していまして 入力日付から本日が1年以上経過しているセルに赤、 入力日付から本日があと1ヶ月以内で1年の場合は橙、 入力日付から本日があと2ヶ月で以内1年の場合は黄、 入力日付から本日があと3ヶ月で以内1年の場合は黄緑 と設定したいと思っております。 条件付書式だと3つまでしか設定ができず困っております。 どなたかご教授願えませんでしょうか? 宜しくお願い致します。

  • 本日の日付のセルの色を変えたいのですが・・・

    はじめまして、エクセルで在庫表を作っています。 A列は空白 B列に使用日 C列に前日在庫 D列に使用数 E列に仕入数 F列に差引在庫数 といった簡素なものですが、一ヶ月分の表を作ると ちょっとわずらわしくなってきます そこで、本日の日付のセルの色を変える関数がないかどうか調べてみました。 このページの内容が近いかな?と思いhttp://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_1.htm 下段のほうの=DAY(TODAY())という関数を試してみました。 12月17日の日付を打ち込んでみると、変わりません・・・ ですが17と打ち込むと1900年1月17日の日付が入力され、セルの色が変わりました・・・ この関数では本日の日付のセルの色を変えることは出来ないのでしょうか? どうかお分かりの方いらっしゃいましたらご教授お願いいたします。

  • EXCELで現在の日付との差分をとる

    早速ですが、下記についての質問です。 セルA1、A2、A3にそれぞれ2008/1/1、2008/7/1、2009/1/1 があります。 この3つの日付と現在の日付を比較し、過去3ヶ月以内に該当するセルに色をつけたいと思っています。 days360()とtoday()関数を使用し、条件付き書式設定で試みたのですが、うまくいきません。 EXCELは2002です。 どうぞ宜しくお願い致します。

  • エクセルVBA  「本日」の日付を検索したいのですが

    お世話になります。 シートを開いたときに、日付列を検索して本日と同じ日付(日付列に本日と同じ日付がなければ、前日や前々日など、近い日)の一番最初のセルをアクティブにしたいのです。 素人なのですが、教えていただけるでしょうか。 理由ですが、 エクセルで文書受付簿をつくり、利用しています。 受付簿であるシート名 台帳  で受付記録をしているのですが、 別シート  コピー用『前年度』データ   というものを作ってあります。 それは、前年度の受付内容をコピーしたものであり、必要なセルをダブルクリックするとシート  台帳  の最終行に貼り付けるようにVBAを組んでいます。 (毎年同じ件名の文書が来る場合は、ダブルクリックするだけで入力できるので、手間が省けます) 同じ件名の文書は、だいたい同じ時期に来るので、シート  コピー用『前年度』データ   を開いた際に、日付列を検索して本日と同じ日付(日付列に本日と同じ日付がなければ、前日や前々日など、近い日)の一番最初のセルをアクティブにしたいのです。 ただし、まったく同じ日に去年も同じ件名の文書がくるわけではないので、同じ日を抽出するのではなく、検索してセルをそこに合わせるということをしたいのです。 コピー用『前年度』データ   の状況は、 A列は日付です。この日付は、表示は「月日」のみですが、数式バーには2006/4/5と表示されるように、年の情報も入っています。年は無視して、月日だけで検索したいのです。 一日に20件以上受付するので、日付も同じ日が20行近く続いて次の日の受付データに変わります。その日のまとまりの中で、一番上の行に合わせたいのです。 B列は相手先が入っています。 C列は文書の件名が入っています。 つたない説明ですが、お分かりいただけたでしょうか? よろしくお願いいたします。

  • 日付を参照し、本日より1カ月前なら色付けしたい

    エクセルで以下の計算式・書式がお分かりの方がいらっしゃればご教示ください。 m(_ _)m 1行に複数入力されている日付のうち、最新の日付を別のセルに 参照し、その日付が本日より1カ月超前の場合は参照セルを 色付けしてアラームを出したいです。 「営業活動が1カ月以上停滞している」ことにアラームを出す ために使用したいと考えています。 具体的には、 ・本日が4/30だとして、 ・以下のように日付が入力されており、 ・A5セルに結果を表示させる場合、 ・A5セルに「3/27」を表示させて、本日より1カ月超前であるため  セルを赤色にする というようなことです。 【例】 セル:A1   A2   A3   A4   A5→セル赤色 日付:3/5 3/18 3/27 3/20 3/27 色々試しましたがうまくいかず困っています。 よろしくお願いいたします!

  • VBAの条件分岐を利用したセルの色分け

    VBAの条件分岐を使用してセルの色分けをしようとしています。 (条件が5つあり、条件付書式では対応できないためです。) 得点による色分けを行いたいのですが、色分けを行いたいセルに関数(ただ単に「=(イコール)」です)を入れて他のセルを参照する様にしたら、色分けが無効になってしまいました。 例: 【設定した条件】  0~20点の場合  赤  21~40点の場合  橙  41~60点の場合  黄  61~80点の場合  緑  81~100点の場合 青 【現象】 VBAでプログラミング後にセルA1に数値「50」を入力したら、セルの色は「黄」になった。しかし、他のデータシートの値を参照させたいと思い、セルA1に「=データシート!B1」と入力したら、セルの色は消えてしまった。 VBAでセルの色分けをしようとする時は、セルに関数を入力してはいけないのでしょうか?条件付書式の時は問題なさそうなのですが。 お分かりになる方がいらっしゃいましたらお願いいたします。

  • 【エクセル】日付同士の比較について

    以下について質問があります。 【実現したいこと】 2つの日付(本日と予定日)を比較して、以下を実現したいと考えています。 (1)本日から予定日までの日数を表示させる。(例:A1セルに結果を表示させる。) (2)予定日が本日を過ぎてしまった場合にセルを赤色に塗りつぶすと同時に、「-何日」という形で予定日よりも何日遅れているかについて日数を表示させたい。 【試したこと】 (L4に本日の日付、R列に予定日が記入されています。) ■「予定日-本日」と「=DATEDIF($L$4,$R15,"D")」の2つの方法。 「予定日-本日」の場合、まだ予定日が記入されていないセルがあると、「-41125」の様に日付を数値化した結果が表示されてしまいます。 「=DATEDIF($L$4,$R15,"D")」の場合は、本日を過ぎた場合、「#NUM!」が表示されてしまいます。 ご教示いただけると大変助かります。 よろしくお願いいたします。

  • Excelで違うシートから日付を引っ張ってきたい

    すいませんが教えてください。 EXCELでAのシートとBのシートがあって、 Aのシートに日付を入力していきます。 その日付をBシートに引っ張ってきたいのですが、 ='Aシート'!A2 とBシートのA2に入れると Aシートの空白セルでは 「1月0日」となってしまいます。 空白セルは同じように空白セルにしたいのですが、 やり方がわかりません。 よろしくお願いします。

  • エクセルでセル色の指定

    下のセルに数値が入っているか空白かで分けて上のセルも同じ色に指定するようにしたい。条件付き書式でできますが件数が多いため、まとめて処理したいと思っています。(個別でも構いませんが要は下のセル色を指定すると上のセルも連動して同じ色になるようにしたい。) #1 #2・・・・・・・・#10 赤 白       赤 というデータがあって、下のセルが空白なら赤、数値なら何もしない(白)という風にしたいのです。 関数を考えましたが、わからないのですがマクロにしないとだめでしょうか。どちらの方法でも出来ればいいのです。よろしくご教授下さい。