- ベストアンサー
【Excel】保存日の自動入力のやり方について
こんにちは。 初投稿です。 Excelで、ブックの「上書き保存」もしくは「保存」をした日付を特定のセルに自動入力させたいと思っています。 http://okwave.jp/qa2316518.html を参考に途中Ano4.まではできたのですが、うまくいきません。 Ano5.を試したいのですが、どこから入力していいのかサッパリ…。 ※保存した瞬間に日付が書き換わると一番ありがたいのですが…。 当方初心者のため、わからず、困っています。 どなたかお教えください。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
参考にされたURLとは全然違う方法ですが、 Alt+F11でVBAの画面を開く。 左のThisWorkBookをダブルクリック。 右の画面に以下のマクロをコピー。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Worksheets("Sheet1").Range("A1").Value = Date End Sub これで保存するたびにSheet1のA1に日付が入ると思います。 参考にされたURLでは、Excelのセル自身に保存日が記録されていない場合に、ファイルを開いたときに最終保存日を取得する、というものなので、保存するときにセルに日付をセルにセットするのであれば上記で十分かと思います。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 http://okwave.jp/qa2316518.html #4 の作者です。 もし、今までのものがありましたら、以下のようにしても可能です。 数式は、お好きなセルの場所においてよいです。 =LastSaveMyDate() '------------------------------------------ '標準モジュール '------------------------------------------ Function LastSaveMyDate() As String '最後に保存した日時を出すユーザー定義関数 Dim myDate Application.Volatile '←加入 myDate = ThisWorkbook.BuiltinDocumentProperties("Last Save Time") LastSaveMyDate = Format$(myDate, "yyyy/mm/dd hh:nn:ss") End Function '------------------------------------------ 'ThisWorkbook モジュール '------------------------------------------ Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Calculate End Sub ところで、この挙動をみていると、どうやら、保存し終わる前に、日時を替えていることが分かります。この日時は、あくまでも、プロパティから取り出したものです。また、私個人が設定する場合は、保存ボタンにインスタンスを取り付けしてしまいますが、かなりややこしい方法になってしまいます。
お礼
遅くなりましたがありがとうございました。 上記の方法でも勉強してみましたがよくわかったようなわからないような。 もっと精進します!!
お礼
ありがとうございます! できました~! いったんは自分でなんとかしてみようかと思ったのですが、途中でわからなくなってしまって(^^; 助かりました♪ 本当にありがとうございます!!