[[20210502133307]] 『マクロを使わずにシートの更新日付をどこかのセル』(あらじぃ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロを使わずにシートの更新日付をどこかのセルに表示させたい』(あらじぃ)

こんにちは。
シートの更新日付をどこかのセルに表示させたいのですが、いくつか調べたところではマクロを使った方法ばかり出てきます。
excelバージョンにもよるでしょうが、マクロを使わずにシートの更新日付をどこかのセルに表示させる方法はないものでしょうか。
xlsmファイルは警告が出るので敬遠される向きがありますので。

< 使用 Excel:Excel2016、使用 OS:Windows7 >


>シートの更新日付をどこかのセルに表示させたいのですが
どの時点で更新するのでしょうか。
ファイルを開いたとき、保存するとき、シート内容を変更した時などなど。
いずれもマクロになると思いますよ。
マクロ苦手なので他の回答を待ってください。
>マクロを使わずにシートの更新日付をどこかのセル
更新した日付を入力してもらった方が早いのでは。
(NE) 2021/05/02(日) 14:29

コントロールキーを押しながら ;(セミコロン)を押すと日付が入力されます。
マクロ使用不可ということなら、手で上記のように設定するほかないですね。

(γ) 2021/05/02(日) 15:07


 共有Bookに設定しておけば履歴シートに履歴が残ります
(どん) 2021/05/02(日) 15:09

ファイルを開いた時に、そのシートのどこでも1か所以上を最後に更新保存した日時を自動表示させたいのですが、やはりマクロ必須なのでしょうね。
ぐぐったところ、こんな情報がありましたが、うまく行きませんでした。
https://www.doodle-office.work/entry/excel_lastupdate

(あらじぃ) 2021/05/02(日) 15:13


上手くいかない理由は不明ですが、
Text関数の第1変数のセルは、いずれにしても入力が必要です。
Todayを使ってしまうと、更新しなくても、自動的に日付が更新されるので、不適当でしょう。
(γ) 2021/05/02(日) 15:28

 >シートの更新日付をどこかのセルに表示させたいのですが

 表示された時点で更新日は、表示され時刻に変わりませんかね?
(SUBSTITUT) 2021/05/02(日) 22:01

上記サイトの情報に固執しているわけではありませんが、
= "最終更新:" & TEXT( A1 、 "ddd、mmmm d、yyyy" )
をA2のセルに入れたとしても、A1に肝心の最終更新日時が入っていないと意味がないですよね。

いずれにしても、正確なファイル更新はファイル自体のプロパティーにあるので、マクロが必須なのでしょうか。
(あらじぃ) 2021/05/03(月) 10:43


 >いずれにしても、正確なファイル更新はファイル自体のプロパティーにあるので、マクロが必須なのでしょうか。

 そう言う問題じゃないです。 
 シート別に更新の有無を教えてくれる組込み関数が用意されてないと言うことです。

 ※CELL関数とINFO関数が主に情報に関するものですが、
  ざっと見た限りではそんな機能は無かったです。

 無ければ自分で作るしかないが、
 それは即ちVBAを使うことになると言うことです。

(半平太) 2021/05/03(月) 11:33


 実際に使えるかは疑問だが。

 まず、EXCELのオプションの数式-計算方法の設定で反復計算を行うにチェックを入れ、最大反復回数を1とする。
 更新されるシートとは別に更新日表示用のシートを作り、そのシートのA1セルから下に更新日を記録したいシート名を記入する。
 次にB1セルに
 =IF(ISERROR(FIND(A1,CELL("address"))),B1,TODAY())
 という式を入力し下へフィルコピーする。

 これで各シートを更新した際にその日付を表示用シートに表示する。
 ただし、保存する際には更新日表示用のシートを表示させた状態で保存しないと次回開いた際に表示しているシートの
 更新日がブックを開いた日付になってしまう。

 また、反復計算を行わない設定のブックと一緒に開いていると不都合があると思う。
(ねむねむ) 2021/05/03(月) 13:42

ねむねむさん、ありがとうございます。
皆さんのコメントから、1ファイル1シートに限定して、以下のコードを使って=LastSaveTime() で表示させることにしました。xlsmファイルになりますが、しかたないですね。

Function LastSaveTime()
Application.Volatile
LastSaveTime = ThisWorkbook.BuiltinDocumentProperties(“Last save time”).Value
End Function
(あらじぃ) 2021/05/04(火) 09:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.