を記入 function newMark(y,m,d) { oldDay = new Date(y+"/"+m+"/"+d); newDay = new Date(); n = (newDay - oldDay)/(1000*60*60*24); if(n <= 14)document.write(""); } //-->
モジュールのソースをボタンをクリックすることで簡単にコピーできます。使えそうなものを自由にコピーして利用してください。
エクセルVBAのマクロの記述モジュールは緑の枠内に記述しています。「モジュールをコピーする」のボタンをクリックすると、このモジュール全体を一発でコピーします。それを貼り付けてマクロを実行してみてください。
このページの作成に至ったのは、エクセルで日々の情報を記入していくときに、その日付を簡単に入力したい、というところから始まりました。エクセルですから、[Ctrl]+[;](セミコロン)で[2009/12/16]という年月日が入ります。また[Ctrl]+[:](コロン)で[22:06]という表示を入力することができます。1つのセルにこれを表示させた後、セルの書式設定で「2009年12月16日」とか「H21.12.16」などと表示方法を変えることもできるます。ただ「ある人からいつ、こんな情報を得た。」とか「いつ、こういう品物の注文をうけた。」という記録をしていくときに、ある列に年月日、時間を記入できる場合もあれば、人の名前、情報に続けて年月日等を入力しておきたい。それも自分の好きな表示方法にしたいという時には、[Ctrl]+[:]などの方法では自由が利かない。エクセルシートに[=NOW()]とすれば、そのシートを開いた年月日を表示できるが、開くたび、保存ずるたびにその年月日は更新されてしまう。注文日とか、情報を得た日などが変化しては困るのである。そこでマクロを利用し、ファイルを開いても年月日が更新されない、つまり固定された年月日を表示できるものを作りたかった。
1 選択セル内末尾に日時記入 (2009,12,16)
2 選択セル内末尾に西暦年月日曜記入 (2009,12,16)
3 選択セル内末尾に和暦日時記入 (2009,12,16)
4 選択セル内末尾に和暦年月日曜時分記入(2009,12,16)
5 選択セル内末尾に和暦年月日曜記入(2009,12,16)
6 選択セル内末尾に2段和暦日曜時記入 (2009,12,16)
「選択セル内末尾」としたのは、何も記述されていないセルなら、そのまま年月日を入力するが、何かの記述「氏名」とか「情報」だとか入力されていても、そのあとに続けて年月日を記入します、ということです。以下、同じ形です。
最初は、選択しているセルの末尾に「2009/12/16 20:15:14」といたってシンプルに記述する形です。上に述べたように、このように記述しようとすれば、「[Ctrl]+[;](セミコロン)スペース[Ctrl]+[:](コロン)」と5つの手順を踏めば、同じことができますが、マクロを使えば1発でできます。シートのどこかにオートシェイプなどで図形を作成しマクロを登録しておくと、まさに一回のクリックで済みます。シートをウィンドウ枠の固定などを利用し、最上部において、内容行数がどんなに多くなっても最上部は動かないようにしておけば、利用しやすいですね。
年月日の記述とともに、曜日の簡略表示を行う。少し改まった感じかな?
年月日の記述とともに、曜日の簡略表示を行う。さらに時刻を何時:何分と表示する。少し細かくなりました。曜日と時刻が入ると情報もより正確になります。
感じが多くなると、かなり改まった感じがします。これもセル内の末尾に記述されます。