• ベストアンサー

エクセルの保存した日を自動でセル内に表示は出来ますか?

エクセルの保存した日を自動でセル内に表示は出来ますか? NOWを使うと今の日付は表示できますが 保存した日を自動で表示させたいです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • argument
  • ベストアンサー率63% (21/33)
回答No.5

はじめまして benitier59 さん 回答者のみなさまはかなり丁寧に教えていると思います。 私も実際に本当に動くのかこの関数を張ってみたら確かに正しいシリアル値が入っていました。 そうなると問題があるとしたらExcelのヴァージョンが古いか質問者に解決する意思がないか質問者の作業ミスです。 手順をできるだけ細かく説明しますのでもう一度チャレンジしてください。 01.試すだけなので新規ブックを作成してください。 【 右クリック > 新規作成(W) > microsft Excel ワークシート 】 又は(右クリックが拡張されていない場合) 【エクセルを普通に開き好きなところに"保存"してください。】 はい。エクセルブックは作成できました。 完成したファイルを開いていない場合は開いてください。 02.マクロのセキュリティを設定します(試すだけなので低) エクセルを開くと丈上部にメニューがあります。 【ツール(T) > マクロ(M) > セキュリティ(S)】 すると「セキュリティ」というダイアログが表示されます。 【「セキュリティレベル」タブを選択し > 低(L)(推奨しません) > OKボタンを押す】 はい。これでセキュリティではじかれることは無くなりました。 一度ブックを閉じて再度開いてください。 (この作業はセキュリティレベルを反映させる作業で絶対必要です) 03.VBEを開きます 項番2のように上部にあるエクセルメニューから 【ツール(T) > マクロ(M) > Visual Basic Editor(V)】 はい。VBEが開きました。 04.標準モジュールを作成する VBEの上部メニューより 【挿入(I) > 標準モジュール(M)】 はい。標準モジュールが追加されました。 下記のようにプロジェクトが表示されていればOKです。 (プロジェクトはデフォルトでは左上らへんに表示されます) プロジェクト - VBAProject -■VBAProject(Book1)  -□MicrosoftExcelObject  │├Sheet1(Sheet1)  │├Sheet2(Sheet2)  │├Sheet3(Sheet3)  │└ThisWorkbook  -□標準モジュール   └Module1 05.標準モジュールにデータを入力する プロジェクトの画面より Module1 をダブルクリックしてください。 そこへ Public Function LastSaveTime() As Variant '←変更箇所 Application.Volatile LastSaveTime = ThisWorkbook.BuiltinDocumentProperties("Last save time").Value End Function を書き込みます。 06.エクセルにシリアル値を表示させよう エクセルを表示 A1セルに以下を入力してください。 =LastSaveTime() 入力しましたか?「39722.46022」一致はしないでしょうがこのような数値の羅列の値 が表示されれば成功です。 07.書式の設定を変更しよう 【A1セルを選択 > 右クリック > セルの書式設定(F) > 】 「セルの書式設定」ダイアログが表示されます 「表示形式」タブを選択します タブ下「分類(C):」項目は「日付」 分類右「種類(T):」項目は「2001/3/14 13:30」 この様に設定します。 もし「#######」などになっていればセル幅を調整してください yyyy/mm/dd hh:mm この形式で日付が表示されていればOKです 一度保存して一度閉じて再度開きなおしてください(必要な作業です)。 08.確認する 開き直すといま保存した時間が表示されているはずです。 A1以外のセルを変更などしてくださいA1セルが自動で最終更新日が更新されます。 さてこの通り作業してもし駄目な場合、何処で駄目になったか言ってください。 または、何処でわからなくなったのか言ってください。

benitier59
質問者

お礼

出来ました!!! ご丁寧なご説明有難うございます。 標準モジュールでなくSheet1に書き込んでいました。 本当に有難うございました。

benitier59
質問者

補足

有難うございます。 違う質問にも答えていただければ嬉しいです。

その他の回答 (4)

  • heinell
  • ベストアンサー率35% (420/1172)
回答No.4

NO3に対する補足に関してです。 指定したページの説明文をちゃんと読んでください --------------------------------- 上記のコードをVBE(Visual Basic Editor)を起動して標準モジュールに貼り付ければ、通常のワークシート関数と同様に使えるようになりますから、最終更新日時を表示させたいセルで「=LastSaveTime()」と入力してください。そのままではシリアル値が表示されるので、[セルの書式設定]ダイアログで適切な表示設定を行ってください。 --------------------------------- マクロセキュリティの設定が正しいのならば、この通りにやったらちゃんと動作しました。 恐らく1カ所無視しているのではないかと推測されますが…

benitier59
質問者

補足

出来ました!!! 本当に有難うございました。

  • heinell
  • ベストアンサー率35% (420/1172)
回答No.3

No1の補足に関しての返答です 動かないってのがどういう状態か判らないので推測ですが、おそらくマクロ(VBA)のセキュリティである可能性が高いです。 Excel2003であれば、メニューのツール→マクロ→セキュリティで、中に設定しないとマクロそのものが動作しません。 低はセキュリティ上お勧めしません。 余談 「動かない」ってのは、「正常ではない」という非常に曖昧な表現なので、回答側も上記のような精度の低い予測しかできません。

benitier59
質問者

補足

NO2の方法も試したのですがダメです。。。 #NAME?と表示されています。 ちなみにシートのタブを右クリックしてコードを表示して そこに貼り付けるだけですよね? ちなみにド素人です。

noname#144013
noname#144013
回答No.2

こんにちは。 #1さんがご紹介されたサイトに書かれているマクロ(VBA)を下記のように変更してみて下さい。 ※関数名の宣言の最初に "Public"、最後に "As Variant" を付加します。 '================================================= ' ' 本エクセルブックの更新日時取得 ' Public Function LastSaveTime() As Variant '←変更箇所 Application.Volatile LastSaveTime = ThisWorkbook.BuiltinDocumentProperties("Last save time").Value End Function '================================================= また、既に設定されているとは思いますが、この関数を利用するセルは、  =LastSaveTime() と入力して、かつ「セルの書式設定」の「表示形式」の設定で  【分類】を、「日付」、  【種類】を、ご希望の「日付、時刻」の表示タイプ に設定してみて下さい。 これで上手くいかなかった場合は、御免なさい。

benitier59
質問者

補足

NO2の方法も試したのですがダメです。。。 #NAME?と表示されています。 ちなみにシートのタブを右クリックしてコードを表示して そこに貼り付けるだけですよね? ちなみにド素人です。

  • heinell
  • ベストアンサー率35% (420/1172)
回答No.1

以下のページに記載がありました。 インストラクターのネタ帳より http://www.relief.jp/itnote/archives/000271.php Excelで凝った事しようと考えたら必見のサイト。 私も何度もお世話になり、頭が上がりません。

参考URL:
http://www.relief.jp/itnote/
benitier59
質問者

補足

なるほど。 VBEを使うのですね。 ここまで来ると難しいですね~ 上記のサイト通りにやったのですが出来ません。。 なぜでしょうか? 書式設定もしたのですが???

関連するQ&A

  • エクセル セル値を読み込んでの自動表示

    画像を御覧ください。 エクセルのシートに「連番選択」用のセルと「連番」、「項目」、「日付」、「番号」、「表示」の列があります。 連番選択のセルに96を入れていますが、この時「連番」96の行を参照し、この右隣のセル項目の中に”A”が入っていれば、同行の「表示」に14-09-003と表示を行いたいと思います。 14-09-は同行「日付」の”yy-mm-”で、003は「番号」の”000”を取得したものです。 連番のセルに何も入っていない時には「表示」列には何も表示させたくありません。 このようなことが可能でしょうか? よろしくお願い致します。 本サイトでは日頃からエクセルのご指導をいただき感謝しております。

  • Excelで曜日の自動表示をしたい

    先程、Excelで日付を自動で表示させる方法を質問したのですが、 今度は曜日も自動で表示させたくなったので、 再び質問させて頂きました・・。 Excelで年と月を入力しているセルを読み取り、 それに適合する曜日を自動で表示する式を教えて下さい。 例えば、 A1セルに、2003 A2セルに、5 A3セル~A33セルに、日付 が表示されている時に、 B3セル~B33セルに、A列に表示されている日付に合致した曜日を 自動で表示させるような式があれば、教えて下さい。 よろしくお願いします。

  • エクセルで自動にセルの色を変えたい

    エクセルを使った表示について質問です。 セルの中にある締切の日付が記入されており、今日の日付からその締切までの日数が、たとえば10日以上であれば青、5日から10日の間であれば黄色、5日を切ったら赤というように、そのセルの色が自動で変わるようにしたいのですが、マクロを使う以外には方法はありませんでしょうか。

  • 特定セルの内容を更新したら、その更新日を自動的に表示する方法について

    エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させたいと思っております。 例えば『A1』へ新規に文字入力したり、セルの内容を更新した時に、セル『B1』にその日の日付が自動で表示される。 そして、違う日にもう一度、同じ欄に入力すれば、その入力した日付に随時更新されるようにするための方法を教えていただければ幸いでございます。 御手数ですが、エクセル関数またはVBA、マクロのいずれかで実現可能な方法があれば教えて下さい。 何卒、宜しくお願いいたします。

  • 【Excel】保存日の自動入力のやり方について

    こんにちは。 初投稿です。 Excelで、ブックの「上書き保存」もしくは「保存」をした日付を特定のセルに自動入力させたいと思っています。 http://okwave.jp/qa2316518.html を参考に途中Ano4.まではできたのですが、うまくいきません。 Ano5.を試したいのですが、どこから入力していいのかサッパリ…。 ※保存した瞬間に日付が書き換わると一番ありがたいのですが…。 当方初心者のため、わからず、困っています。 どなたかお教えください。 宜しくお願い致します。

  • エクセルのあるページに履歴を自動表示させたい。

    エクセルで関数、VBAを利用して、データ加工などをしています。素人でえすが、関数 数年、VBA 数年、の経験があります。 今回、事情があって、あるデータを逐次入力する必要が生じました。できれば、エクセルを開いた時に、日時・時間を自動表示させたいのですが。 もちろん、=NOW()と、=TODAY()の関数で、セルに自動表示はできますが、・・。 目的は、履歴です。 具体的には、新しいエクセルのシートのA1に(NOW関数で?)日付・時間を表示させて、閉じます。その次このファイルを開くと、A1には、前回の日付。時刻が表示され、A2に今回開いたときの日付・時刻が表示されます。 以下、これを繰り返すと、A列には、ファイルを開いた日時の履歴が表示されます。関数・VBA等を使って、このような処理が可能でしょうか。教えて下さい。 よろしくお願いします。

  • Excel 2007で、更新日をセルに自動入力する方法を教えて下さい。

    Excel 2007で、更新日をセルに自動入力する方法を教えて下さい。 ファイルを開いた日付ではなく、更新したときに、更新したシートのみ日付を自動で変更する方法はありますか?

  • エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。

    エクセルで、あるセルに日付を入れると、別のセルに「処理済み」という表示が自動的に現れるように設定したいのですが、やり方がわかりません。 現状では、処理した日付を入力した後、別のセルに「処理済み」と打ち込んでいますが、それを自動化したいのです。 さらには、処理した日付を入力すると、空欄が自動的に「処理済み」に変わり、その後、発送した日付を入力すると、「処理済み」が自動的に「発送済み」に変わるように設定したいのです。 エクセル本の「条件分岐」を見て試行錯誤したのですが、できませんでした。エクセルで上記のような設定は可能なのでしょうか? ちなみにExcel2007を使用しています。 ご存じの方がいらっしゃいましたら、ご教授いただけませんでしょうか。よろしくお願いいたします。

  • エクセル2010 日付を入力したら自動的にセルにも

    エクセル2010を使っています。 日付の入力について教えて頂けませんか? 画像の様にA1セルに、本日の日付を入力したとします。 その後、自動で7つのセルに勝手に日付が入力されるようにしたいのです。 ポイントは今日から遡って表示されるというところです。 ご存知の方よろしくお願いいたします!

  • マクロで更新日表示。。。

    エクセルで今日の日付を自動で入れるときは、「=now()」もしくは「=today()」でできますが、開いたシートのデータを更新したときだけ、任意のセルに今日の日付(更新日)が自動で入るようにしたいと思います。(シートを開いてもそのシートを修正しなかったら日付は変わらないようにしたいです) マクロを作成しないとできないと思いますが、なにせマクロ初心者なものでよく分かりません。 シートのどこかのセルが修正されたら、日付を入れたいセルに「ctrl+;」で更新日が入るようなマクロを作ればよいと思うのですが、具体的にどうすれば、このようなマクロが作成できるのでしょうか????