- ベストアンサー
Excelでスケジュールを作成したい
月間スケジュールをExcelにて作成したいとおもっております。 1日から31日までのスケジュールで、 A列に1~31日までの日にちを表示(2004/7/1と入力して、セルの書式設定で日付だけ表示) B列にその曜日を表示(月・火・水・・・日) ここまではできました。 でも、マクロを使って土日の行(C列からF列まで)に色付けしたいのですが、どうやってマクロの式を作成したらよいのか分かりません。 似たような質問がありましたが、それは日付を横に表示ということで、解答をみながらやってみましたができませんでした。 そもそも、マクロがよく分からない(絶対参照と相対参照の違いくらいしか)ので、式にどんな意味があるのか、簡単に説明して頂けると助かります。 更に、毎月25日が給料日で、その5営業日前にデータ伝送、10日に住民税納付という具合に、だいたい何日に何をするというのが決まっています。その予定をあらかじめリストアップしておき、土日にその日が重なった場合は前日にずらして自動的にスケジュールに組み込んで表示させる。といったこともできるのでしょうか? どなたか詳しい方、教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。土日祝を一度に色付けする方法。 ストレートに、条件つき書式を使う方法が、いろいろやって見たが、判らないので、1列余分に使う方法を上げます。 NRTWORKDAYSを使う。 A列に日付が入っている。 A1に前月末日、B2に月初日、B3以下に日付があるとする。 B2に=NETWORKDAYS($A$1,A2,"2004/7/19")-NETWORKDAYS($A$1,A1,"2004/7/19")を入れる。 休日は0、それ以外は1となる。 会社休業日(8月盆休みなど)があれば、 =NETWORKDAYS($A$1,A2,{"2004/7/19","2004/8/14","2004/8/15"})-NETWORKDAYS($A$1,A1,{"2004/7/19","2004/8/14","2004/8/15"}) のように{}内に休業日をカンマで区切って加えていく。 上記のように2004/7/19のように1日だけだと{}が省略できるようである。 A2:F32とか範囲指定して 書式-条件つき書式-数式がで、式に =$B2=0とし、書式を設定しOKで休日行に(または文字に)色がつく。 この方法では、前月末日は必要。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
>マクロを使って土日の行(C列からF列まで)に色付けしたいのですが マクロを使わなくても出来ます。マクロの好きな私も この点は下記がお勧め。 書式-条件付書式-「数式が」、を選びます。 式を入れるボックスに =OR(TEXT(A23,"aaa")="土",TEXT(A23,"aaa")="日") といれて、書式を設定しOKをクリックで出来ます。 ●上記はA列だけですがB,C、D、F列も色を付けたい時は A1:F31を範囲指定し、書式ー条件付書式に入ります。 式を=OR(TEXT($A1,"aaa")="土",TEXT($A1,"aaa")="日") とAをB列について考える時も変化しないようにします。 祝日もNETWORKDAYSを使い、条件2に追加設定すれば出来ます。むしろ両方を1つに統合できるかも。 後半は手が込むので取りあえず。
お礼
早速の解答、ありがとうございます。他の人も使いやすいようにと思って、マクロだとボタンに登録できるから、そちらの方がいいかなぁと思ったのです。毎回設定しなくてもよいのならば便利そうですね、教えていただいた方法で、やってみます。
- s_yoshi_6
- ベストアンサー率73% (1113/1519)
とりあえず、最初の方の問題は、条件付書式を使われた方が良いでしょう。 下記を参照して下さい。 色を変えたい範囲を指定したあとに、条件付書式で数式を入れますが、 土曜日の方は、=MOD($A2,7)=0 日曜日の方は、=MOD($A2,7)=1 というふうに、列は絶対参照としてください。 http://www.excel7.com/chotto8.htm
お礼
早速の解答、ありがとうございます。 教えていただいたホームページみてみました。とても勉強になります!時間があるときにゆっくりみてみたいと思います。早速お気に入りに登録しました。 マクロだとボタンに登録できるから、そちらの方がいいかなぁと思ったのです。 教えていただいた方法でもやってみます。
お礼
ありがとうございます。 NETWORKDAYSなんて関数があること、知りませんでした。とっても勉強になりました。