Excelでセルに最終更新日時を自動的に表示できるようにしたいという場合の方法です。
マクロを作成後、ボタンをクリックして日時を更新する方法を紹介します。
まず、どちらにしても[開発]タブを表示しておいたほうが操作はしやすいです。
ここでは、[開発]タブを表示している状態での解説をしています。
[開発]タブの表示については、以下の記事で解説しています。
-
[開発]タブの表示とマクロのセキュリティ設定
Office2010から[開発]タブを表示する方法が変わりました。 Office2010以降は[オプション]ダイアログボックスの[リボンのユ ...
ユーザー定義関数を使って更新日時を表示
VBEを起動します。[開発]タブをクリックして左端にある[Visual Basic]ボタンをクリックします。
参考ショートカットキーは、[Alt]+[F11]です。
ユーザー定義関数の作成
[挿入]メニューから[標準モジュール]をクリックします。
そして、以下のコードをコピーして貼り付けします。
Function LastSaveTime()
Application.Volatile
LastSaveTime = ThisWorkbook.BuiltinDocumentProperties("Last save time").Value
End Function
VBEは、[閉じる]ボタンをクリックして閉じます。
ユーザー定義関数については、以下の記事を参考にさせていただきました。
ファイルの最終更新日時を取得したい:エクセルマクロ・Excel VBAの使い方-ユーザー定義関数
セルへユーザー定義関数を入力
最終更新日時を表示したいセルを選択します。そして、数式バーに以下のように入力します。コピーして貼り付けしてもらっても構いません。
=lastsavetime()
または、アクティブセルに[=](イコール)と[L(エル)]を入力すると、下のように関数一覧が表示されますので、その中から[LastSaveTime]を選択してもいいです。
関数を選択するときは、方向キー↓で移動して、[Tab]キーで選択します。
注意[Enter]キーではなく[Tab]キーを使います。
最後に[)](半角の閉じ括弧)を入力します。
数式バーには、下のように入力されます。
セルの書式設定の変更
ユーザー定義関数を入力したセルには、何だかわからない数値が入力されていると思います。
これを日付形式に変更します。
ユーザー定義関数を入力したセルを選択して、右クリックします。
ショートカットメニューから、[セルの書式設定]をクリックします。
参考[セルの書式設定]ダイアログボックスを表示するショートカットキーは、[Ctrl]+[1]です。ただし、テンキーの[1]では動作しません。
そして、[表示形式]タブの[日付]を選択します。
[種類]の中から目的にある形式を選択します。
[サンプル]で確認しながら、選択してください。[OK]ボタンをクリックして閉じます。
セルの表示は以下のように日付表示になります。
ブックの保存
ブックを保存するときは、[マクロ有効ブック]として保存します。
ブックに名前を付けていない場合は、[名前を付けて保存]ダイアログボックスを表示します。
参考キーボードから[F12]キーを押すと、[名前を付けて保存]ダイアログボックスを表示できます。
[ファイルの種類]から[Excel マクロ有効ブック(*.xlsm)]を選択します。ファイル名を付けて保存します。
もし、既存のブックであれば、閉じるときに以下のメッセージが表示されます。
次の機能はマクロなしのブックに保存できません:
・VB プロジェクト
これらの機能が含まれるファイルを保存する場合は、[いいえ]をクリックし、[ファイルの種類]ボックスでマクロ有効ファイルの種類を選択してください。
マクロなしのブックとして保存する場合は、[はい]をクリックしてください。
このメッセージが表示されたら、[いいえ]を選択してください。
[名前を付けて保存]ダイアログボックスが表示されますので、上記と同じように[ファイルの種類]から[Excel マクロ有効ブック(*.xlsm)]を選択して保存してください。
保存後、ブックのアイコンは下のようになります。
マクロのセキュリティ
マクロのセキュリティが既定のままであれば、[マクロ有効ブック]を開いたときに、下のように[セキュリティの警告]の情報バーが表示されます。
[コンテンツの有効化]ボタンをクリックすると使用できるようになります。
また、マクロのセキュリティは、[開発]タブを表示している場合は簡単に設定を変更できます。
[開発]タブの[マクロのセキュリティ]をクリックします。
すると、[セキュリティセンター]ダイアログボックスが表示されます。
[マクロの設定]を[すべてのマクロを有効にする]を選択すると、情報バーは表示されなくなります。
ただし、セキュリティは低くなります。
また、[開発]タブを表示しない場合の[マクロのセキュリティ]の設定については、以下の記事で解説しています。
-
[マクロの設定]画面の表示方法と[セキュリティの警告]の情報バー
マクロのセキュリティ設定をカスタマイズするためには、[マクロの設定]画面を表示しなければなりません。 [開発]タブを表示している場合は、[マ ...
追記:2020/06/09
いつ変わったのか分かりませんが、Office2016とOffice2019では[セキュリティセンター]が[トラストセンター]という名称になっています。
ボタンをクリックして最終更新日時を更新
ユーザー定義関数でセルに最終更新日時を表示して保存できるようになるのですが、更新日時を保存しなくてもいいケースも出てきます。
例えば、列幅の調整をしただけという場合などです。
更新日時を保存したい場合のみ、簡単に保存できるようにできないかという質問を受けます。
ただし、ボタンを押し忘れるというリスクも出てきます。
マクロボタンをクリックして、現在の日時を表示して保存する方法です。
マクロの作成
更新日時を表示するセル番地を確認しておきます。
ここでは、[営業部]シートのセル[A2]に表示したいと思います。
VBEを起動します。[開発]タブをクリックして左端にある[Visual Basic]ボタンをクリックします。
参考ショートカットキーは、[Alt]+[F11]です。
VBEの[挿入]メニューから[標準モジュール]をクリックします。
更新日時を入力するマクロを作成します。
以下のコードを標準モジュールに入力します。コピーして貼り付けてもらってかまいません。
参考["営業部"]はシート名で、["A2"]はセル番地です。
ここの2つは編集してください。
また、日付だけを表示したい場合は、[Now]を[Date]に変更してください。
Sub 現在の日時()
Sheets("営業部").Range("A2").Value = Now
End Sub
VBEは、[閉じる]ボタンで閉じます。
マクロの確認
営業部シートを表示します。
[開発]タブをクリックして、[コード]グループにある[マクロ]をクリックします。
参考ショートカットキーは、[Alt]+[F8]ですね。
下のように[現在の日時]マクロが作成されていることを確認します。[実行]ボタンをクリックします。
一瞬で、[営業部]シートのセル[A2]に現在に日時が表示されます。
マクロボタンの作成
ボタンを作成して、そのボタンにマクロを登録します。
[挿入]タブの[図]グループにある[図形]をクリックして、[四角形:角度付き]をクリックします。
参考ほかの図形でも構いません。
ドラッグして、四角形を描きます。大きさや位置は後で調整できます。
ボタンを選択した状態で右クリックします。ショートカットメニューから[マクロの登録]をクリックします。
すると、[マクロの登録]ダイアログボックスが表示されます。
[現在の日時]を選択して[OK]ボタンをクリックします。
一度、他のセルをクリックして、四角形から選択を解除します。
確認のため四角形のボタンをクリックしてみてください。日時が更新されると思います。
ボタンに文字列を入力します。
ボタンで右クリックして、ショートカットメニューから[テキストの編集]をクリックします。
ボタンに分かりやすい名前を付けます。
文字列がボタンの上下中央になるように、[ホーム]タブの[配置]グループにある[上下中央揃え]と[中央揃え]のボタンをクリックします。
参考図形で作成したボタンには、ハイパーリンクを設定することもできます。
マクロボタンを印刷したくない場合
マクロボタン(図形)を印刷したくない場合は、ボタン(図形)で右クリックして、ショートカットメニューから[サイズとプロパティ]をクリックします。
[図形の書式設定]の[サイズとプロパティ]が表示されます。
[プロパティ]の[オブジェクトを印刷する]のチェックボックスをオフにします。
マクロの編集
マクロを編集する必要が出てきた場合は、[開発]タブの[コード]グループにある[マクロ]をクリックします。
今度は、[マクロ]ダイアログボックスが表示されます。
目的のマクロ名を選択して、[編集]ボタンをクリックします。
参考マクロボタンは、[表示]タブの右端にもあります。
VBEが起動しますので、ここで編集します。
[開発]タブの[Visual Basic]ボタンをクリックしても同じです。
マクロを作成した場合も[マクロ有効]ブックとして保存してください。
[名前を付けて保存]ダイアログボックスの[ファイルの種類]から[Excel マクロ有効ブック(*.xlsm)]を選択して、ファイル名を付けて保存します。
関連Excelのマクロについては、以下の記事でも解説しています。
-
[マクロの記録]機能を使ってマクロの作成と実行
マクロって難しいそうだなぁと思っていませんか? 高度なマクロではなく、簡単にできるものから始めてみませんか? マクロとは一連の作業を自動化す ...
-
新規入力セルへ移動するマクロの作り方(相対参照で記録)
縦に長い表があって、新規入力するためにいつも下へスクロールして、入力された終わりのセルを探して、その下のセルをアクティブにして新規のデータを ...
以下の記事の中では、ふりがなを表示するマクロの作成方法を解説しています。
-
ふりがなが表示されない・別のセルに表示したい(PHONETIC関数とマクロ)
Excelには、ふりがなを表示できる便利な機能があります。 そして、PHONETIC(フォネティック)関数を使って、ふりがなを別のセルに表示 ...
マクロはほかのブックで実行できるようにアドインにしたり、個人用マクロブックに保存することもできます。
-
マクロを[Excelアドイン]として保存して他のブックで使用・配布する
面倒な作業であっても、少しでも効率よくミスがないように行いたいですね。 作業を自動化するマクロを作成しても、マクロはそのブックでしか動作しま ...
-
個人用マクロブックを作成してすべてのブックでマクロを利用するには
Excelでマクロを作成するときは、通常、作業中のブックに保存しますが、個人用マクロブックを作成すると、Excel起動時に常に起動されるので ...
参考自動更新はしませんが、キーボードから現在の日付と時間を簡単に入力することもできます。
-
キーボードから[今日の日付]と[現在の時刻]を簡単入力
Excelで現在の日付と時刻をキーボードから簡単に入力してみましょう。 まず、日付や時刻を入力したいセルをクリックしてアクティブにします。 ...
Wordでも更新日時を自動的に保存できます。
-
最終更新日時を自動で表示(SaveDateフィールドを使用)
文書を開いたときに、最終更新日が分かると便利ですね。 [SaveDate]フィールドを使って最終更新日を自動的に表示できます。 保存した文書 ...
以下の記事では、Accessでレコードの更新日時を自動的に保存する方法を解説しています。
-
レコードの最終更新日時を自動保存してフォームに表示
Accessで更新日時を保存したいということは多いですね。 レコードが更新された日時をテーブルに保存する方法です。 VBAコード、埋め込みマ ...
また、PowerPointのスライドには[オブジェクトの挿入]機能を使って、Wordのフィールドコードを挿入して最終更新日時を表示することができます。
-
スライドに最終更新日時を挿入(Wordのフィールドコードを挿入)
PowerPointには、ヘッダーとフッターに自動更新日を表示することができますが、更新していなくてもファイルを開くたびに更新されてしまいま ...