• ベストアンサー

開館カレンダー、休館日の文字色の変更方法?

 公営施設に勤務する超初心者です。エクセルで休館日カレンダーをつくろうと思い立って悪戦苦闘の末、年度の数字と年度初日の曜日そしてプリント期間(4,7,10,1月から半年)に代わる数字を所定のセルに入力すれば、カレンダー表示ができるところまでは漕ぎ着けました。残るは休館日にあたるセルの表示色を変更することです。  休館日は火曜日と祝日の翌日が休館日と決まっているのですが、それは原則にすぎず職員でも理解できないような振り替えが行われるため条件付けに考えが及びません。そこで、例えばシート1のD5のセルを赤色にするとシート2(プリント頁で保護)のD5のセルも赤色になるという設定ができないかなと思って調べているのですがドンピシャの答えに巡り会えません。宜しくご教示の程お願いします。

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

  • ベストアンサー
  • stingy
  • ベストアンサー率37% (144/379)
回答No.1

シート2のD5のセルには何が入ってますが? 例えば [=Sheet1!D5]と入っていてシート1のD5に日付(数値)が入るなら  シート1のD5の数値は休みの日はマイナス値にする。  シート2のD5の表示形式を数値:負の値は[符号なしの赤文字] にするとか  シート1のD5の数値は休みの日はマイナス値にする。  シート2のD5の表示形式をユーザー定義で[0;0]にし、  条件つき書式の条件を[セルの値が][次の値より小さい][0] にするとか。 シート1のD5とシート2のD5の関連性がわからないと 答えづらいのですが。

sun_life
質問者

お礼

早々のアドバイス有り難うございます。超初心者なので私の考えが甘いかもしれませんが「マイナス値」はドンピシャのような気がします。やってみると意外に難しいかもしれませんが、他のことでも応用できそうですから是非試してみます。

その他の回答 (4)

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

6ヶ月?のカレンダーの日にちをどういう風に作ったのか書いてなくて、質問するのは、質問として非常識(具体的に回答が難しい)と思うが、考え方の参考になるかと思って下記を挙げてみる。主旨を汲み取って応用してみてください。 ーー 例データ C7:I11 2008/7/1 2008/7/2 2008/7/3 2008/7/4 2008/7/5 2008/7/6 2008/7/7 2008/7/8 2008/7/9 2008/7/10 2008/7/11 2008/7/12 2008/7/13 2008/7/14 2008/7/15 2008/7/16 2008/7/17 2008/7/18 2008/7/19 2008/7/20 2008/7/21 2008/7/22 2008/7/23 2008/7/24 2008/7/25 2008/7/26 2008/7/27 2008/7/28 2008/7/29 2008/7/30 2008/7/31 7月の休館日の日にちを縦列に入力(L列) 規則性がなければ、自分で休館日を表にするほか無い。 L1:L7 1 3 8 10 17 23 26 ーーー C7:I11を範囲指定 書式ー条件付き書式ー数式が =NOT(ISERROR(VLOOKUP(DAY(C7),$L$1:$L$8,1,FALSE))) 書式をパターンー淡い色設定で実験(フォント色でも同じ) OK ーーー 結果 L列の日のセルが色が付きました。 ーー 上記は2007/7/1を火曜(第3列)から始めていないなど、時間がないので手抜きはあるが、VLOOKUPでやれるという例を示したもの。 L列に当たるものは6ヶ月6列必要です。 条件付き書式も6ヶ月6箇所設定する必要があるが。 ーー L列を年月日の表にすれば6ヶ月か1年分の休館日を1列に定義して 1回(6か月分範囲指定して)の条件付書式の設定で済むと思う。 上記中途半端だが、主旨はわかって、もらえるだろうか。 しかしこの課題は質問者には難しすぎるかもしれない。

sun_life
質問者

お礼

不十分な説明であったのにしっかりしたアドバイスを有り難うございます。いただいたアドバイスも私にはすぐに理解できないですが、始めて目にする関数に大きなヒントが含まれているような気がします。腰を落ち着けて勉強してみます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

>職員でも理解できないような振り替えが行われるため条件付けに考えが及びません 取り合えず、休館日のカレンダーを作る必要がありますね それが シート1でしょうか? シート1のA1に日付 1月1日 B1に=IF(WEEKDAY(A1)=3,"休","") といれてA1とB1を下フィルして1年分のカレンダーでも作成します。 取り合えず火曜日に 休 と入ります。 祝日と特別な休館日に 手入力 で 休 と入れていきます。 A~Bを選択して 名前 定義 で 休館日 とでも名前をつけます シート2(プリントのためのシート?)の日付の部分を選択して 条件書式 値が を数式が に変えて =VLOOKUP($E1,休み,2)="休"  ($E1は選択した範囲の一番最初のセルの番地です) 書式で パターン で 色を選択 OK ではダメでしょうか。

sun_life
質問者

お礼

 早々のアドバイス有り難うございます。質問内容に不備が多く申し訳ありません。私が作った分は今のところ2シートで構成しています。一つはプリント専用の6ヶ月分のカレンダーが表示され、3ヶ月分のカレンダーが横に並び、その下に続く3ヶ月分が横に並んでいます。1ヶ月分のカレンダーの表示は7列に各曜日、その下の行から6行に日付が入るようになっていて、所定のセルに年度の数字と該当年度の4月1日の曜日(日なら1、火なら2・・・)とプリントする6ヶ月分の期間(4~9なら1、7~12なら2、・・・)と数字を入れると、残る一つのシートからプリント専用頁の表に自動的に年度と日付が読み込まれるもので、初歩的な関数だけでできていて、埋め込んだ関数などを誰かが誤操作して消したりすると困るので非保護セルは最小限度に治めるつもりです。  そして残る一つの課題が休館日の表示なのですが、アドバイスいただいたことを参考に勉強してみます。有り難うございました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

A No.2です。見直したらタイトルには「文字色」とありますね。If文のところを、下記と差し替えてください。 If myCell.Font.ColorIndex = 3 Then .Range(myCell.Address).Font.ColorIndex = 3 昼間見た自社のカレンダーの休業日が赤色セルになっていたので、それと同様に思いこんでおり、失礼いたしました。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

マクロで行う案です セルの色を変えてもWorksheet_Changeeのイベントは起こらないので、Sheet2を見るときに変わっていれば良いだろうと、Worksheet_Activateのイベントを用いた例です。他のシートから、Sheet2に移った時に実行されます。Sheet2のシートモジュールに記述します。 Private Sub Worksheet_Activate() Dim myCell As Range With Me .Unprotect For Each myCell In Sheets("Sheet1").UsedRange.Cells If myCell.Interior.ColorIndex = 3 Then .Range(myCell.Address).Interior.ColorIndex = 3 Next .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End With End Sub <念のため、シートモジュールへの貼り付け方> ALT+F11でVBE画面に切り替え、たいてい左上にあるプロジェクト-VBA Projectというフレーム?で、Sheet2(例えば)をWクリックし、右側に表示されるメインの広いフレームに貼り付けて下さい。

sun_life
質問者

お礼

 アドバイス有り難うございます。マクロのことは勉強したことがないのですが、いずれはと思っていましたから、これを機に勉強してみます。

関連するQ&A

  • 月カレンダー作成中。文字の色を変えたい…

    よろしくお願いします。エクセル2010バージョンです。 月カレンダーを作成しています。セルに日付を入力(たとえば2012/08/30)と入力したのち、 カレンダー内の日にち(数字1~31)の文字色を土曜日・日曜日のみ赤に変える手法を教えてください。 セル内の背景色を変えるのではなく、文字の色を赤にしてみたいのです。 ところが、条件付き書式の設定がわからずここで止まってしまいました。 なおカレンダー日付の月初1(日)を表示するセルには、=IF(A1="","",A1) と入力しています。 A1に日付を入力。 カレンダー日付の翌日2(日)は、=IF(A4="","",IF(DAY(A4+1)=1,"",A4+1)) と入力しています。 A4は 日付の1(日)を表示しているセルです。 このように3(日)、4(日)・・・とコピペで作成しています。 ところが、条件付き書式の設定をどのようにするかで止まっています。 条件付き書式の部分をどのように設定したらいいか、ご教示下さい。 この条件書式の設定がどうも苦手なので、この部分は一手一手わかりやすく教えていただければ嬉しいです。 よろしくお願いします。

  • カレンダーで該当日以外表示しない方法

    エクセルという表計算ソフトを使っています。エクセルでカレンダーを作ろうと思います。その月の1日目だけ決めると後は、「=前日のセル番号+1」で自動的に数字が入っていきます。その月によって30日あるいは31日以降を削除します。また、1日の前のセルも削除します。質問はエクセルのセルの表示で、関数などを使い、例えば4月は31以降の日付表示は表示しない方法はないかということです。「=IF(AND(上のセル番号>=10,上のセル番号<=20),“当り”,“”)という関数を使うと上のセルが10~20までは「当り」が表示され、それ以外の数字か全く日付がない時は、表示されません。これは上のセル番号を使いますが、カレンダーで前日のセル番号を“”の所に入れる方法が見つかりません。カレンダーを作るために関数を使う方法、また該当数字以外は表示しない方法はないか思案しています。どなたか教えて下さい。

  • データを入力すると特定の文字等を返す方法について

    いつも相談に答えていただきありがとうございます。 今回は、 エクセルで、特定のセルに数字を入力をした場合、同じシートの別のセルに文字等を返す方法についてご教示ください。 例) sheet1の「A1セル」に日付を入力すると「B1セル」に文字を返しその「Bセル」に色をつける。       「2/17」     →      「○」を付けそのセルの色を「赤」にする。 エクセルのマクロ処理ではなく、簡単な計算式で対応できないでしょうか。 もし、セルに色を付けるのが困難な場合は「○」表示だけでも付けたいと考えています。宜しくご教示ほどお願いします。

  • 期間日付表をカレンダーに落とすには

    施設の予約管理表を作成しています。 シート1に施設利用期間が入力されている表があります     A    B    C    D    1   名前   部屋番  期間始  期間終 2   太郎   1号   2/1   2/5  3   花子   2号   2/4   2/7 シート2にカレンダーで部屋別に利用状況がわかる様な表を作成したいです。利用している日のセルには利用者の名前を表示したいです。カレンダーはタテでお願いします。部屋数は35部屋、1年で管理したいです。 よろしくお願い致します。

  • カレンダー(EXCEL)で、今日の日を表示(マーク)するには?

    EXCEL2003でカレンダーを作っているのですが、私はよく今日の日にちを忘れるので、開いたときに、今日(例えば1/17日)のセルに色などで、表示したり、あるいは・・・。させることができますでしょうか?ご指導宜しくお願いします。

  • Excelのセルの色がはみ出す

    Excel2002です。 D1 D2 D3 D4 とそれぞれのセルに色を付けており、その色の付いたセルに数字(単純な整数)が入っていましてこの数字は毎日入れ直して変わって行きます。 この数字を入れるべくD2のセルを選択し新しい数字の一桁目を入れるとD2セルの赤色が上のD1セルまでかぶさりD1の数字は見えなくなります。D2に新しい数字を入れてEnterするとD1にかぶっていた赤色は元に戻りD2だけになります。 D4のセルにも色が付いていますがこの現象は起きずちゃんとD4だけに収まっています。 特にDataが変わってしまうと言う実害はなくこのまま長年経過してますがこの際原因を知りたいと思い質問しました。よろしくお願いします。

  • カレンダーの網掛けセルに特定の文字を表示させたい

    はじめまして。 エクセルで横スクロールのカレンダーを作成したのですが(画像1),セルに日付を入力するとカレンダーに網掛けがされるまではできたのですが,セルに文字を自動的に表示(画像2)させるにはどうしたらいいのでしょうか? 画像が粗くて申し訳ないのですが,黄色が|発注|入荷|で緑色が|検品|出荷|になっています。 例えば|発注|に7/15と入力するとカレンダーに「発」と自動的に表示させたいのです。 カレンダーは日付欄に入力すると条件付き書式でカレンダーに網掛けが反映する設定にしてあります(画像3)。 条件は右記の様な設定になっています。黄色網 =AND(G$3>=$C4,G$3<=$D4) ご教授頂けますと幸いです。

  • 条件付き書式 2つのシート間比較

    エクセルでのアンケート集計をしています。 ○と×でA1:D25入力された表で Sheet1 →前年度 ×    Sheet2 →今年度 ○  だったら 赤 Sheet1 →前年度 ○    Sheet2 →今年度 ×  だったら 青  Sheet1 →前年度 ○    Sheet2 →今年度 ○  だったら 塗りつぶし無し Sheet1 →前年度 ×    Sheet2 →今年度 ×  だったら グレー のように今年度のSheet2にセル塗りつぶしの色の書式をいれたくて悩んでいます。 どなたかご教授願います

  • 携帯電話のカレンダーに休日を設定する方法について。

    パソコンと携帯でスケジュールの同期を行いたいです。 そのときに、カレンダーに休日を任意に設定でき、日にちの色を変えたいです。(よくある 日曜日は赤色、土曜日は青色で表示してあるようなイメージです。)その状態を携帯上のカレンダーでも確認できるようにしたいです。そのようなソフト等あれば教えてください。

  • エクセル

    エクセルで下記具体例のような方法を教えてください。 具体例 シート1のD4に5を入力 別のシートのB2~19に入力している5の数字のセルが赤に シート1のE4に10を入力 同じく別シートのB2~19に入力している10の数字のセルが青に シート1のF4に3を入力 同じく別シートのB2~19に入力している3の数字のセルが黄色に なるような方法を教えてください。

専門家に質問してみよう