• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで、入力された日付を基準に、色付け)

Excelで入力された日付を基準に色付けする方法とは?

rukukuの回答

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.4

こんにちは >Excel2010移行であれば、複数の条件付き書式を使えるのでいいのですが、今回は >Excel2002とかも対応したいため、VBAでやる必要性があると思っています。 Excel2003までですと、条件付き書式が3つまでですので、 >10/31 (開催日) 赤 >10/26 (開催日▲3) 青 >10/21 (開催日▲6) 緑 >10/17 (開催日▲10) グレー は無理ですね。 でも、3つまでなら条件付き書式できるので、 やってみようと思いましたが、難しかったです。 (T_T) いずれにせよ、VBAでなければ無理なので、VBAでやってみました。 Excel2000で動作確認していますので、Excel2002でも問題ないと思います。 かなりベタな作り方ですが、その分変更がしやすいと思います。 セル番地は、ご質問の画像を出来るだけ解読してみましたが、 実際と違う部分は調整してください。 F3~IV3に日付(日付形式で入力し表示で「dd」にしてあります。) F6~IV6に営業日なら1、休みなら0 D7~D10に開催日 という仕様で作ってあります。 Sub 実働日をカウント()   '変数の定義   Dim Line As Long   Dim Retsu As Long   Dim KaisaibiNoRetsu As Long   Dim NanJituroubiMae As Long      '6~66536行の塗りつぶしをクリア   Rows("6:65536").Interior.ColorIndex = xlNone '条件付き書式はクリアされません         For Line = 7 To 10 '行数はここで変更できます。     KaisaibiNoRetsu = 0     '開催日を探す     For Retsu = 6 To 256 'F列=6列目、IV列=256列       If Cells(Line, "D") <> "" And Cells(Line, "D") = Cells(3, Retsu) _         Then           KaisaibiNoRetsu = Retsu           Cells(Line, KaisaibiNoRetsu).Interior.Color = RGB(255, 0, 0)           Exit For '開催日が見つかったら検索終了       End If     Next Retsu          '開催日から○実労日を探す     NanJituroubiMae = 0 '前の結果が残るので変数をリセット     For Retsu = KaisaibiNoRetsu - 1 To 6 Step -1 '開催日の前日から後ろ向きに検索       If Cells(6, Retsu) = 1 Then         NanJituroubiMae = NanJituroubiMae + Cells(6, Retsu)         If NanJituroubiMae = 3 Then Cells(Line, Retsu).Interior.Color = RGB(0, 0, 255)         If NanJituroubiMae = 6 Then Cells(Line, Retsu).Interior.Color = RGB(0, 255, 0)         If NanJituroubiMae = 10 Then Cells(Line, Retsu).Interior.Color = RGB(223, 223, 223): Exit For       End If     Next Retsu        Next Line End Sub

rakeemrakeem
質問者

お礼

回答ありがとうございます! 試して見ましたが、調整の結果、やりたかったことができました! 本当に感謝です。 週末にも関わらずありがとうございます。 これで週明けのスタートダッシュができそうです。

関連するQ&A

  • エクセルの日付機能

    エクセルの日付機能に関する質問です。 あるワークシートのA列に日、B列に月、C列に年が入力されています。これらの日付を行ごとに結合して、D列にdd/mm/yyという形式で表示させたいと考えています。 先ほど、D2に[=A2&"/"&B2&"/"&C2]という計算式を入力し、D列を右クリックして[セルの書式設定]→[表示設定]→[ユーザー定義]で[種類]欄に[dd/mm/yy]と入力しましたが、D2は日付として認識されず、ただの文字列として認識されているようです。 統合された文字列が日付として認識される良い方法を教えていただけないでしょうか?よろしくお願いします。

  • セルの色付けの仕方について

    たびたび、申し訳ありません。 エクセルの工数表の作成に関して、御相談させて下さい。 エクセルで、 A列に「日付」、 B列に「その作業内容」、 C列に「作業時間」を入力するような、 作業工数表を作成したいと思っています。 ここで、表を見やすくするために、 同一日付の行を、同色に「色づけ」したいと思っています。 (具体例) 2/1 事務処理 2.0←青 2/1 資料作成 2.5←青 2/1 伝票処理 0.5←青 2/2 事務処理 3.0←赤 2/2 資料作成 4.0←赤 2/3 伝票処理 2.0←青(以下、青、赤の繰り返し…)     具体的には、 「C列の数値を入力」することによって、 その行の「A列~C列までのセル」の色を、 自動で入力されるようにしたいと思うのですが、 この場合、どうすればよいでしょうか…。 (⇒一日置きに、青・赤と順番に付けたいと思います) 注文が多くてすみません、ヒント程度でも結構ですので、 アドバイスを頂けないでしょうか。 (⇒特に「一日置きに色を変える方法」について、お願いします) どうかよろしくお願いします。m(_ _)m

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • 曜日に色づけ

    エクセル2000です。A列に日付を入れて 条件付書式で土、日に色づけするのは分かるのですが 1行に横に日付を入れて土、日に色付けするには どうしたらよいですか。

  • Excelの日付型の入力規則

    Excel2007です。 あるファイルで特定の列に"yyyy/mm/dd"の日付型の値を入力するように書式設定しています。 ところがそのファイルは社内で多数の人が参照・入力をするもので、中には 「2011/11/11」 とすべきところを 「11.11.11」 というように入力する人もいます。 このファイルにはマクロが含まれていて、その日付型の列を参照して帳票を出力するようになっているので、「11.11.11」だと日付型のデータと認識してくれずに誤った情報を出力してしまうことがあります。 データの入力規則を設定して"yyyy/mm/dd"以外の書式を入力できないようにしてみましたが、社内の人から「入力の値が正しくありません」というメッセージが出るたびにメッセージの意味がわからず「入力ができない」と問い合わせが来ます。 PCをほとんど扱えない人が多い上にパートさんバイトさんなどの入れ替わりが激しいのでなかなか説明が行き届かず… 何をしたいかというと、「11.11.11」のように入力された場合でも「2011/11/11」に強制的に変換されるようにできますでしょうか? ※ちなみに社内にはExcel2003を使っている人もいます

  • エクセルで日付の入力

    お世話になっております。 エクセルで日付を入力したいのですが、平成20年11月21日と入力すると、平成20年11月21日と小文字になってしまいます。 ダブルクリックをすると2008/11/21となっています。 例えば、11月31日と入力すると大文字でセルにぴったりになるのですが、カレンダー通りの日にちだとダメです。 どうしたら良いでしょうか?? (PS.セルの書式設定の【文字列】にしてもダメです…。) 分かりづらくて申し訳ないのですが、教えて下さい。

  • Excelの日付がうまく入りません。

    Excelでテンプレートをつくっているのですが、日付の欄でセルの書式設定で、「ユーザー定義」「mm/dd」を選びました。ところがここに「01/01」Enterと入力すると「###」となってしまいます。「01/01」と表示させるにはどうすればいいでしょうか?わかる方、困っているのでよろしくお願いします。

  • エクセルでのセルの色づけ方法

    教えてください。 エクセルで、8000行、15列程度の表があります。 例えば、A2に、Aと入力すると、A2とA1の両セルが水色 Bと入力すると、A2とA1の両セルが黄 Cと入力すると、A2とA1の両セルが赤 他にも、例えば C4に、Bと入力すると、C4とC3の両セルが赤 Bと入力すると、C4とC3の両セルが黄 Cと入力すると、C4とC3の両セルが赤   などのように、A=水色   B=黄色   C=赤になるように 条件付き書式を設定し、その書式を他のセルへコピーして、 1000行位までは、ちゃんと保存できたのですが、8000行程度まで、コピーして、保存すると、『保存できません』と表示されてしまい、1000行以上は条件付き書式のコピーをしても、コピーはできますが、保存できないため、大変困っています。。。もしかして、条件付き書式には、書式のコピーができる制限があるのでしょうか?あとは、VBなどで対応 するしかないのでしょうか。VBもまったく分かりません。。 是非、よろしくお願いいたします。

  • 値の個数、値の合計の出し方と日付への色付け

    EXCELで質問が2つあるのですが、 セルB列に「○」がある場合、 セルC列の値の個数、値の合計を出すには どのようにすればよいでしょうか? IFを使うのかな?ということしかわからないです。。。 もう1つは 日付を入力した際にカレンダーの休日に当たる場合、 その文字に色(赤)をつけたいのですが、 それはどのようにすれば宜しいでしょうか。 条件書式では出来ませんでした。。。 EXCELはほとんど素人です。すみません。

  • UesrFormのTextBoxに入れた日付をExcelに入力

    教えてください。 VBAでUserFormを作成しています。 その中に「TextBox1」があり日付を入力させます。 入力は、半角でyy/mm/ddで入力させて「CommandButton1」をクリックさせたらExcelに反映させるのですが、どうしても、日付が違う値になるのです。 半角で入力した日付をyy/mm/ddでExcelに反映させ、さらに誤った日付(例:08/02/31など実際に無い日)を入れた場合、再入力をさせたいのですが良い方法はありますか?