質問: エクセルの日付関数について教えてください。 エクセルの日付関数について教えてください。 上司から、データの修正をかけたごとの表を提出するようにいわれています。 エクセルのtoday関数ですと、ファイルを開いた日付に変更されてしまうので 困っています。 ファイルを開いただけでは変更されず、内容を更新したときだけ、その処理日が表示されるような 関数があれば教えてください。 ひとつのファイルに何枚かのシートがあるので できればシートごとにできればよいのですが 無理でしたら、別ファイルを作ります。 よろしくお願いします。
回答: こちらの例にならって、マクロを登録すれば、ファイルを保存する時に 日付を設定できます。 http://excelvba.pc-users.net/fol4/4_5.html なお、事例では、「ブックを閉じます」というメッセージを表示しているだけなので、この例にある msgbox関数の代わりに以下のものを 設定します。 before_close イベントの代わりに、before_save イベントにしています。 private sub workbook_beforesave(byval saveasui as boolean, cancel as boolean) dim ret as integer ret = msgbox("日付を更新して保存します。よろしいですか?", vbyesno) if ret = vbno then cancel = true else activesheet.cells(5, "a") = date end if end sub ※この場合、a5 セルに 日付が入力されるので、 cells(5,"a") の部分を適宜変更してください。 なお、このマクロ編集画面は、・・・ ツール(t) -- マクロ(m) -- visual basic editor メニューで表示できます。