- ベストアンサー
excel表の書換え日を自動でシートに記録表示したい
こんばんは。 Exelの使い方について,詳しい方お教えください。 あるデータの表に,一週間ごとにデータを記入していきます。その記入がいつのものかの月日を記入するのを忘れてしまい困りました。いつも気にしていれば良いのですが,---。 そこで,意識しなくとも,表のどこか,あるいは表の右上に,書き換え日が自動的に記録される方法があれば良いと思いました。 なにか良い方法をお知りの方,お教えいただけますか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 再度やって見ましたが、私の場合は考えたとおりですが。 私の場合もSheet1に書いてます。Sheet1をアクチブにして 閉じてください。 先ほど9時には、B18に文字を入れて、保存しました。 M18に04/07/20 21:04:38が記録されてました。 いまD21に文字を入力して、閉じて、開くとM21に 04/07/20 23:29:20 が記録されました。 >d = Range("B36000").End(xlUp).Row 正確にはd = Range("B65536").End(xlUp).Rowです。 これはB列で記入のあるセルの一番下の行を捉える方法です。 B列の一番下65536行にカーソルをおいて、ENDキー の次に↑キーを押したとき、止まるセルの行数です。 >ブックを閉じる時,上書き保存時の設定の違いの差に ついて ファイル保存は必ずすると言う前提です。
その他の回答 (4)
- s_yoshi_6
- ベストアンサー率73% (1113/1519)
ブックを共有にして、変更履歴を保存されればよいと思います。 ツール→変更履歴の作成→「変更箇所の表示」で「編集中に変更箇所を記録する」にチェックを入れると、自動的に共有になり、変更箇所が記録されるようになります。 変更箇所の一覧を作成するには、例えば記録し始めてから全ての履歴を表示する場合は、「変更箇所の表示」で ・「強調表示する変更箇所の指定」の変更日を「すべて」とし ・「新しいシートに変更箇所一覧を作成する」にチェックを入れてOK とすると、別シートに変更履歴が作成されます。 下記ページを参考に試してみてください。 http://www.atmarkit.co.jp/fwin2k/win2ktips/410excelshare/excelshare.html
お礼
こんにちは。 お忙しい中,アドバイスをいただきありがとうございました。 変更履歴の取り方を知ることができ,大変勉強になりました。 やってみたいと思います。 どうもありがとうございました。m(__)m /~~~ 。
- imogasi
- ベストアンサー率27% (4737/17069)
=Today()関数は今日開くと、今日の日付が入り、明日にまた開くと明日の日付に変りますので、適当ではありません。 VBAでは Private Sub Workbook_BeforeClose(Cancel As Boolean) d = Range("B36000").End(xlUp).Row Cells(d, "M") = Date & " " & Time End Sub です。 ツール-マクローVBEで出てきた画面の VBAProjectのこのブック(Book○○)のThisWorkbookをダブルクリックして出てきた画面に上記をコピーして貼りつける。 そのブックを閉じる時、B列の最下行のM列に日付・時刻を自動で入れます。Mは適当な列記号で置換えてください。 B36000のBも,毎日、(書きこみが無い日が無い)書きこみが行われるはずの列記号で置換えてください。
補足
早速のご回答ありがとうございます。 早速やってみましたが,うまくできません。素人なものですみません。 >ツール-マクローVBEで出てきた画面の VBAProjectのこのブック(Book○○)の ThisWorkbookをダブルクリックして出てきた画面に上 記をコピーして貼りつける。 始めに,CLOSEしたときは,日時がでました。EXELを閉じて,再度開いて書き換えして保存しましたが、 日時は前のままでした。 素人でミスがあると思うのですが,更なるご教授を賜りたい。 (1)疑問点は,書き込みのセル位置が問題ですか (2)実際の表はsheet1にあり,thiswork- bookのVBEへの書き込みと関係あるのですか (3)d = Range("B36000").End(xlUp).Row この意味を大変でも少し。 (4)ブックを閉じる時,上書き保存時の設定の違いの差に ついて。 お忙しい所恐縮です。m(_ _)m
- mshr1962
- ベストアンサー率39% (7417/18945)
印刷日でいいなら =TODAY() 又は =NOW() としてください。(再計算の度に変化します。) 手動でいいなら Ctrl+; で日付 Ctrl+: で時刻 が記入できます。 完全に自動だと、VBAで日付や時刻のスタンプすることになります。
補足
こんばんは。 早速のご回答に感謝いたします。 印刷はしません。 少しでも改変したら,それを最終改変日として記録表示したいのです。 印刷はしないものとして考えていました。 何かよい知恵をお願いします。 言葉足らずすみませんでした。
- ingram
- ベストアンサー率29% (45/153)
TODAY関数で出来ます。 調べればすぐにわかることですよ~。
補足
早速のご回答ありがとうございます。 しかし,この関数は,ファイル開いた日の関数だと思います。 このシートを開いてみた事と このシートを改変した事は別なことと考えています。 何人もそのシートを開いて見てもいいのてですが, 書き換えがあった日を記録したいのです。 何かよい方法はないものでしょうか。 言葉たらずでの質問ですみませんでした。
お礼
こんにちは。 自宅でうまくいかず,出勤して教えていただいたように 貼り付けて実施してみましたところ,うまくできました。 原因はわかりませんが,exelのバージョンが新しいもの(2つの比較において)だったのかとも思っています。 マクロのbeforecloseseというものがあることを教えていただき感謝しています。 2度にわたり,アドバイスをいただきありがとうございました。感謝いたします。m(__)m /~~ 。