ちょっと便利な? カレンダー作成①
 年が明けてしまったので、「6日のあやめ」的な投稿だが…

 我が家では数年来、パソコンを使い手製のカレンダーを作り続けている。

f0066555_19165363.jpg その元々は妻が退職後に通った、エクセルの初級講座。
 そのときの教材となったのが、このカレンダー。

 この表の上に前年の旅行先でのスナップや、孫たちの写真を貼り付けて印刷したものを、机の上などに飾る。

 エクセルに手馴れた人なら、5分もかからず作れてしまう。 が、念のために簡単な手順を。

 1、罫線を引いた後、日~土までの曜日、およびその上に「1月」などと打ち込む。
 2.A4のセルに「1」を入力し、B4のセルには「=A4+1」と計算式を入力。
   それを、G4のセルまでドラッグする。
 3.A5のセルには「=A4+7]と計算式を入力し、G9のセルまでドラッグ。
   表は1~42までの数字で埋まるはず。
 4.実際のカレンダーと見比べながら、(今年の1月なら)A4とB4のセルを消去する。
   さらに、31より多い数字をすべて(F8~G9)消去する。
 5.後は、文字の大きさ・中央揃え、祝日の文字色など体裁を整え、完成。


 以後は、前年のカレンダーをコピーし、手直し(消去した計算式をコピーしなおしたり)し、翌年のカレンダーを作成している。
 まったくの手作業なので、昨年など日数の足りない月までできたしまった。

 …で、Calcのマクロを使えば、「こんなみっともないことも起こらないか」と。 (この間にエクセルからOpenOfficeに変わったので)

f0066555_20185456.jpg 1.D2のセルに、「1/1」と日付を入力する。
 ###と表示されるのは、セル内に「2013/1/1」と表示しきれないため。

 2.続いてA4のセルに「=D2-WEEKDAY(D2)+1」と計算式を入力する。
 41273から始まる数字が表示されるが、実はこれが日付。 続いてこれらの表示形式を整える。

f0066555_20444096.jpg
 3.D2のセルの日付の表示形式を、書式コード「M月」にする。
  エクセルなら、日付の書式をユーザ定義で「M”月”」に。
  これで2013/1/1が1月と表示される。

 4.続いてA4~G9間での範囲の日付の表示形式を、書式コード「D」に。

f0066555_21121245.jpg 以上の操作で、左のようにカレンダーらしき表に整えられる。

 A4、B4の日付は前年12月、F8以後は2月の日付。

 この後は、セルの内容を消去するなどの乱暴な方法ではなく、次のようにする。

f0066555_2121870.jpg


 5.A4~G9の範囲を選択し条件付書式を設定する。

 6.数式として、「MONTH(G9)<>MONTH($D$2)」と入力。
  エクセルの場合だと、右下のセルではなく左上のセルを指定する。
 「MONTH(A4)<>MONTH($D$2)」

 7.新しいスタイルを選び、フォントカラーとして白を指定する。


 以上で、最初と同じカレンダーが表示される。 2/1などと違う月を表示しても、日付と曜日はあっている。
 2016/1/1とすると、ちゃんとうるう年となっている。 大丈夫そう。


 後は祝日を丸で囲ったり、フォントを赤にするなどが残っているが、それにはマクロが必要になる。

 続きは下に
[PR]
by t_ichib | 2013-01-15 23:00 | 今日もまた老年プログラマー
<< スリランカ旅行① スリランカの車は? ちょっと便利な? カレンダー作成② >>