- ベストアンサー
エクセルで 関数 TODAYではないものを探しています。
エクセルで、業務日報を作っています。 F1のセルに、その日の「日付」が入力されるようにしたいのですが、どうすれば良いでしょうか…。 TODAYのように自動で入ってくれるのが理想です。 始め、TODAYで表示されたので、大喜びしていたのですが、次の日開けると、他のsheetも、全部本日になっていました(ToT)/~~~ ※翌日そのファイルを開いた際には、 前日の日報の日付は「そのままの状態(前日の日付のまま)」になっているようにしたいのです… 状態は、1月分が1つのファイルにあって、31枚 31日分sheetがあります。 次の日は、隣のsheetの移って入力という形です。 関数かVBAのようなものでするのかと思うのですが、過去の質問を調べ、真似をしてみたのですが、私には出来ませんでした(>_<)もう2時間位調べてます…。 ちなみにVBAとかは出来ないのですが…。 もしも、もしも、ご親切な方<(_ _)> これを、ここに貼り付けて、という具合に教えていただけたら助かります。 初心者ですいません....(*_*;
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
1.「ツール」「マクロ」「新しいマクロの記録」でマクロ名に「Macro1」と指定してマクロを記録開始する。 ・F1にカーソルを移動 ・F1に「=TODAY()」と入力 ・F1にカーソルを置いて「編集」「コピー」 ・そのまま「編集」「形式を選択して貼り付け」「値」で貼り付け の4つを行ったら、マクロの記録を終らせる。 2.翌日以降は、 ・新しいシートを選ぶ ・「ツール」「マクロ」「マクロ...」「Macro1」を選択して「実行」ボタン で、自動的にF1セルに今日の日付が入力され、変わらない値といて固定されます。
その他の回答 (5)
- chie65536
- ベストアンサー率41% (2512/6032)
No.2の補足。 毎月1日にマクロの記録をするのが面倒なら ・空っぽのブックを作り、シートを31枚に増やす ・1日のシートに移動する ・No.2で解説したマクロの記録を行う と言う3つの作業をしたブックを「日報元ファイル.xls」として保存しておき、毎月1日になったら「日報元ファイル.xls」を開き「xxxx年x月日報.xls」などと「名前を付けて保存」してから使い始めて下さい。 念の為「日報元ファイル.xls」を、エクスプローラの右ボタンクリックでプロパティを開き、全般タブの「読み取り専用」のチェックを付けておくと安心です。うっかり「名前を付けて保存」をしないで、元ファイルをそのまま書き換えてしまうのを防げます。
- chie65536
- ベストアンサー率41% (2512/6032)
No.2の補足。 毎月1日にマクロの記録をするのが面倒なら ・空っぽのブックを作り、シートを31枚に増やす ・1日のシートに移動する ・No.2で解説したマクロの記録を行う と言う3つの作業をしたブックを「日報元ファイル.xls」として保存しておき、毎月1日になったら「日報元ファイル.xls」を開き「xxxx年x月日報.xls」などと「名前を付けて保存」してから使い始めて下さい。 念の為「日報元ファイル.xls」を、エクスプローラの右ボタンクリックでプロパティを開き、全般タブの「読み取り専用」のチェックを付けておくと安心です。うっかり「名前を付けて保存」をしないで、元ファイルをそのまま書き換えてしまうのを防げます。
- chie65536
- ベストアンサー率41% (2512/6032)
No.2の補足。 毎月1日にマクロの記録をするのが面倒なら ・空っぽのブックを作り、シートを31枚に増やす ・1日のシートに移動する ・No.2で解説したマクロの記録を行う と言う3つの作業をしたブックを「日報元ファイル.xls」として保存しておき、毎月1日になったら「日報元ファイル.xls」を開き「xxxx年x月日報.xls」などと「名前を付けて保存」してから使い始めて下さい。 念の為「日報元ファイル.xls」を、エクスプローラの右ボタンクリックでプロパティを開き、全般タブの「読み取り専用」のチェックを付けておくと安心です。うっかり「名前を付けて保存」をしないで、元ファイルをそのまま書き換えてしまうのを防げます。
- dejiji-
- ベストアンサー率38% (327/858)
こんな感じではどうでしょう。 1日のシートの日付を入れたいところのセルを選択して、 Ctrlを押しながら;(セミコロン)これで、日付のスタンプが出来ます。 シートが31枚あるのなら、シート2以降は前シートの日付に1を加えた式を入れる。日付を入れたいセルを選択して=からシート1の日付の入ったセルを選択して、+1とする。(=Sheet1!A1+1のようになる。)これを31日のシートまで繰り返す。 そして、このブックをテンプレートとして保存し、毎月使う。 月末処理(次の月になる場合。30日までの場合31シートは次の月の1日を表示するので、これは表示しない方法。)はどうしましょうか。式が少し面倒ですが。 29日の日付欄を以下の式に変えます。 =IF(MONTH(A29+1)<>MONTH(A29),"",A29+1) 30日 =IF(MONTH(A29+2)<>MONTH(A29),"",A29+2) 31日 =IF(MONTH(A29+3)<>MONTH(A29),"",A29+3) これでその月でない日付は空白になります。
お礼
丁寧に、分かりやすく教えていただきまして本当にありがとうございました<(_ _)> 大変参考になりました( ..)φメモメモ
- m_mik
- ベストアンサー率26% (31/117)
2時間も悩んでいるようでしたら… 単純に最初のシートに日付を入力して、以降のシートに前のシートの日付+1を入れたほうが楽なのではないでしょうか? 例えば、sheet1のA1に2006/1/1を入力、sheet2のA1に=sheet1!A1+1を入力、sheet3のA1に=sheet2!A1+1を入力…と 最初に設定の手間はありますが、これですと変わりませんので。
お礼
ありがとうございます。やってみましたら、初心者の私でも出来ました。<m(__)m> 他の人でマクロのやり方も教えていただいたので、色々試してみます( ..)φメモメモ
お礼
丁寧に、何度も教えていただきましてありがとうございました。 本当に参考になりました<(_ _)>ありがとうございました。