- 締切済み
エクセルの自動日付入力
エクセルで、=today()を使い日付が勝手に入るようにしています。 しかし、このtoday関数は、日付が翌日になると、その翌日の日付になるほか、後日そのファイルを開くとその開いた日で表示されてしまいます。 そこで、ファイル作成日の日付をそのまま残しておくためにどのような方法がありますか? 分かる方がいらっしゃいましたら、よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
日付入力は、自動化したいが、ブックを開いたとき、当日の日付では困る、というのは (1)その間確認するまで、前の日付を残しておく (2)下方向にでも、別セルに累積して、長く残す ようなことでしょうか。 (1)は残す(当日の日付に変えてしまう)処理のキッカケ(VBAのイベント)が必要です。人間が指定するか、ブックを閉じる前とか。 どちらもVBAが必要になると思います。 どの時点で書き換えると良いのか 累積的に保存するのか その辺明らかにすべきではないですか。
- jpk1001
- ベストアンサー率42% (3/7)
こんにちは、マクロでやる方法を紹介します BOOKに埋める方法とアドインにする方法があります。 多分ファイルプロパティの作成日と同じ日付が出ると思いますが・・ はずしてたらすみません。 Function GetCreateDate() Dim objFS, objFile Set objFS = CreateObject("Scripting.FileSystemObject") Set objFile = objFS.GetFile(ActiveWorkbook.FullName) GetCreateDate = objFile.DateCreated End Function =GetCreateDate()をシートに埋めればOKです
- ore-summer
- ベストアンサー率29% (133/454)
質問内容に矛盾を感じます。 ファイルの作成日で残しておきたいのなら、関数でなく日付を普通に入力されてみては?それは不都合なのでしょうか? 「Ctrl」+「;」ですばやく今日の日付が表示されますので、変更したいときだけそれで入力してみては?
ファイルを毎回新規作成するのであれば自動にする意味はないので(そのまま日付を入れればいいだけ)、テンプレートやファイルの使い回しを考えているのだと思います。しかし、その場合おっしゃる通り、=today()は使えないですね。しかも、仮にファイル作成日を取得する関数があったとしてもそれも無意味。ということは、当日日付を取得してそれを値として入れる必要がありますからマクロを使うなどしないと無理ではないでしょうか?
- hana-hana3
- ベストアンサー率31% (4940/15541)
関数では日付を保持する事はできません。 マクロで記入するか手入力するしか方法はありません。