• ベストアンサー

エクセルである日付以前のデータに色を!!

エクセルの表でBB1のセルに入力した日付以前の日付が入力されているセルに色を付けたいのですが、どのようにしたら? 条件式書式を使おうかと思っているのですが・・・ 色々な方法を教えてください

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

既に回答が出ていますが、 (1)VBA     ・バッチ処理     ・即時処理(イベント利用) (2)条件付書式の操作    日付けは詰まるところシリアル値(11月19日は   37579)なので、ある数より小さい値のセルに   色をつけるに帰着します。 (3)関数式--関数式ではセルやフォントに色を付けら  れないので、この方法では実現不能。 念のため操作は たとえのデータとしてA1:A5に 2002/11/2 2002/3/5 2002/4/5 2002/10/12 2002/4/30 といれて E1にたとえとして2002/5/1を入れる。 (1)A1:A5を範囲指定 (2)書式 (3)条件付指定 (4)セルの値が (5)次の値より小さい (6)E1 (7)書式 (8)パターン (9)OK (10)OK でA2,A3,A5のセルに色が付く。

mikanjam
質問者

お礼

詳しく教えてくださって有難うございます。早速設定しました!

その他の回答 (5)

  • ka3
  • ベストアンサー率18% (36/194)
回答No.5

 [条件付き書式(D)]で簡単にできました。

回答No.4

こんばんわ。マクロの記述ミスをしてしまいました。前回のコードは破棄して下記のコードをコピー&ペーストして下さい。 1.データの入っているブックを立ち上げ、ALT+F11キーを押してVBE画面を表示させ、画面左上のVBAProjectと書かれている上にマウスポインターを合わせて右クリック後、挿入→クラスモジュールを順にクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。 Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim myCnt As Integer Dim i As Integer If Target.Address <> Range("BB1").Address Then Exit Sub myCnt = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To myCnt If Cells(i, 1).Value < Range("BB1").Value Then Cells(i, 1).Interior.ColorIndex = 34 End If Next i End Sub 2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。 Dim myClass As New Class1 Private Sub Workbook_Open() Set myClass.App = Application End Sub 3.保存してブックを終了し、再度立ち上げる。 BB1に値を入力してみて下さい。貴方様の思い通りの動作が実現できます。 ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。私のわかる範囲でご一緒に考えていきたいと思います。

mikanjam
質問者

お礼

いつも丁寧に記入して頂いて有難うございます。今回は簡単な書式設定で行うことにしました。また教えてください。

回答No.3

こんばんわ。1行目をタイトル行・BB1のセルに入力した日付以前の日付が入力されているセルをA列としてサンプルマクロを組んでみました。次のように操作してみて下さい。 Public WithEvents App As Application Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim myCnt As Integer Dim i as Integer If Target.Address <> Range("BB1").Address Then Exit Sub myCnt = cells(rows.count,1).end(xlup).Row for i = 2 to myCnt If cells(i,1).value < range("BB1").value Then cells(i,1).Interior.ColorIndex = 34 End If End Sub 2.次に画面左上のVBAProjectと書かれている下のThisWorkbookをダブルクリックし、表示された右側の白い部分に下記のコードをコピー&ペーストする。 Dim myClass As New Class1 Private Sub Workbook_Open() Set myClass.App = Application End Sub 3.保存してブックを終了し、再度立ち上げる。 BB1に値を入力してみて下さい。貴方様の思い通りの動作が実現できます。 ご不明な点・不具合等がありましたら、ご遠慮なくお知らせ下さい。私のわかる範囲でご一緒に考えていきたいと思います。

回答No.2

お考えの通り、条件付日付が一番簡単じゃないでしょうか? でしたら、セルに色をつけるとか、文字の色を変えるとか、フォントを変えるとかの選択が出来ますから。 色々とあるでしょうが、これが一番のお勧めですが。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

まず マクロを使うやり方があります。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.value < range("BB1").value Then Target.Interior.ColorIndex = 2 End If End Sub 未確認ですが、こんな感じにすると赤くなると思います。

関連するQ&A

  • エクセルで日付の色を変更できません。

    過去質問を参考にして 条件付き書式で 書式-条件付き書式-「セルの値が」「等しい」「="土"」 としても色がかわりません。 カレンダーをつくっています。 「A1」のセルに今月の日付をつけ そこから、例えば=A1+1の式をコピーしています。 書式形式はm/d"("aaa")"でしています。 よろしくお願いいたします。

  • エクセルで本日の日付の行に色をつけたい

    エクセルで民宿の予約表を作成しています。 Bの列に日付、横にFからAXまで部屋番号となっています。 条件付書式を使って本日の日付に色をつけることは出来たのですが、 日付のセルだけでなく"日付の行"に色をつけたいのです。 エクセル技道場というサイトで"本日の日の列に色をつける" http://www2.odn.ne.jp/excel/waza/cformat.html#SEC30 という"行"ではなく"列"のやり方がのっていたので、このやり方が使えないか試してみましたがうまくいきません。 どなたかご教授願います。

  • エクセルの日付について

    エクセルについて教えてください。 それぞれのセルに複数の日付を入力しておき、今日から3日後の日付だけ色を変えたりする方法 例)3/22,3/23,3/25,3/26,3/27とそれぞれのセルに入力しておき、今日エクセルを開くと3/25のセルだけ文字の色が変わり、明日エクセルを開くと、3/26のセルだけ文字の色が変わる

  • excel:曜日と日付に色を付ける

    excel2003を使い出勤表を作っているのですが、 日曜日の日付と曜日のFONTを赤にしたいのです。 ログを探してみましたが探し方がへたくそなのか、 見つかりませんので、新規で質問をさせていただきます。 条件付書式で曜日だけFONTの色を赤に変える事は出来たのですが、 これだと日付の色は変わりません。 ちなみに、日付のセル(A6)に当月を入力すると、 日付(Bセル)・曜日(Cセル)が自動的に変わるようにしてあります。 当月の日付を変えたら、日曜日のセルだけ自動的に、 日付・曜日を赤のFONTにすることは可能でしょうか? excelはまだまだ初心者な者で、どなたか教えていただけると助かります。 よろしくお願いします。

  • EXCELでセルの色が勝手に変わってしまいます。

    エクセル2000で、表を作成しているときに、空白のセルに文字を入力し、ENTERで確定すると、セルのパターンが色無しから特定の色に変わります。 すぐ上のセルのパターンを同じ色に変えているので、それと同じ色になるようです。 (色無しのセルの下で入力しても変わりません。) ですから入力した後、セルの書式設定でパターン→色無しに戻さなければなりません。 書式をコピーしたわけでもなく(色無しのセルの書式をコピーしてきても同じ現象が起きます。)、ましてや条件付き書式の設定もしていません。 (編集→ジャンプで検索しました。) EXCELの作業中にたぶんどこかキーボードの操作を誤ったのだと思うのですが、以前のように後から個々に選んで色をつけるように直したいので、わかる方、回答をお願いします。

  • エクセル 特定の単語が入力されたときにセルの色を変える

    エクセル 特定の単語が入力されたときにセルの色を変える A1に日付を入力すると、A2に自動的に曜日が入る数式を入れています。 カレンダーのように1ヶ月分がまとめて表示されているわけではなく、入力が必要な日だけ日付を入れるような表になるのですが、土曜や日曜の場合、曜日のセルの色を変える方法を教えていただけますでしょうか。 条件付書式でやってみたのですが、曜日のセルに数式を入れて自動的に表示させている場合、うまくできませんでした。(直接、土曜や日曜と入力するときちんと色が変わったのですが)

  • エクセルで複数の条件でセルの色を変える方法

    エクセルで、ある条件+ある条件、2つ合わさった時にこの色になる。 というような表を作りたいと思っています。 A1に何らかの文字が入力されていて、尚且つ、B1がりんごだった時、 C1が赤色になる。 (A1に入力されるものはランダムです) また、B1にバナナと入力したら、C1が黄色になる。 と、ある条件+もう一つの条件で、セルの色が変わるようにしたいのです。 以前こちらで検索をし、条件付書式で、 A1が空白以外だった場合にセルの色が変わる数式を見たのですが、 忘れてしまい探したけど見つけられませんでした。。 (その時発見した数式に、+で違う数式をくっつけ、その時は上記のような表を作る事ができました。) その時見たのは、ISBLANKや=B1<>""のようなものではありませんでした。。 その時と同じでなくて良いので、条件付書式で上記のような表を作る方法を教えてください。

  • エクセルで重複データがあったら、目印として色をつけたい

    エクセルでデータ入力をしています。 重複するデータがあったら、セルに色をつけて分かりやすく目立たせたいと思っています。 条件付書式を使う方法でやってみたいのですが、どう設定したらいいのか 分かりません。ご存知の方がいらっしゃったら、教えてください。 お願いします。 エクセルは2000を使っています。

  • A列が今日の日付ならC列のセルの背景に色をつけたい

    A列が今日の日付ならC列のセルの背景に色をつけたい エクセル2007です。 A1に2012/03/04といれ、 下へオートフィルしています。 そしてC列に対して 「A列が今日の日付なら、セルの色を塗りつぶす」と言うようにしたいのですが 式がわかりません。 条件付き書式の 新しい書式ルール→「数式を使用して、書式設定するセルを決定」 で 「次の数式を満たす場合に値を書式設定」 に「=$A1=date()」と入れると 「入力した数式は正しくありません。」 となってしまいます。 どうすればいいでしょうか?

  • エクセルの表に日付と曜日を表示させたい

    エクセルで表を作りはじめ、現状は以下の通りです。 まずA1には2009/04/01と入力します。 A2~A32へは日付を表示させるため =A1+1 ~=A1+31の式を入力しておいて、セルの書式設定の表示形式で Dとして日付を表示できるようにしました。 B2~B32へは同様の式を入力し、書式設定で AAAとして曜日を表示できるようにはしました。 ところが、この方法だと、1月が31日でない(少ない)場合には最後の部分に翌月の1日などのデータを表示させてしまいます。 これを防ぐ方法はありますか? 式とかの変更はまだまだ可能なので、良い方法を教えてください。お願いします。

専門家に質問してみよう