重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは。
初投稿です。

Excelで、ブックの「上書き保存」もしくは「保存」をした日付を特定のセルに自動入力させたいと思っています。

http://okwave.jp/qa2316518.html

を参考に途中Ano4.まではできたのですが、うまくいきません。

Ano5.を試したいのですが、どこから入力していいのかサッパリ…。

※保存した瞬間に日付が書き換わると一番ありがたいのですが…。

当方初心者のため、わからず、困っています。
どなたかお教えください。

宜しくお願い致します。

A 回答 (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のセル自身に保存日が記録されていない場合に、ファイルを開いたときに最終保存日を取得する、というものなので、保存するときにセルに日付をセルにセットするのであれば上記で十分かと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!
できました~!

いったんは自分でなんとかしてみようかと思ったのですが、途中でわからなくなってしまって(^^;

助かりました♪
本当にありがとうございます!!

お礼日時:2006/12/14 12:46

こんばんは。



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

ところで、この挙動をみていると、どうやら、保存し終わる前に、日時を替えていることが分かります。この日時は、あくまでも、プロパティから取り出したものです。また、私個人が設定する場合は、保存ボタンにインスタンスを取り付けしてしまいますが、かなりややこしい方法になってしまいます。
    • good
    • 0
この回答へのお礼

遅くなりましたがありがとうございました。
上記の方法でも勉強してみましたがよくわかったようなわからないような。
もっと精進します!!

お礼日時:2006/12/29 02:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!