ワークブックを開いたときではなく、ワークブックで変更が行われたときに機能するように、Excelで関数「now()」を作成する簡単な方法があるかどうか疑問に思っています。
1 に答える
これを見てください:
http://www.extendoffice.com/documents/excel/954-excel-created-last-modified-time.html#three
次の 2 番目のマクロを使用してみてください。
Sub Workbook_Open()
Range("A2").Value = Format(ThisWorkbook.BuiltinDocumentProperties("Last Save Time"), "short date")
End Sub
A2 を、最終変更時刻を入れたいセルに置き換えます。
次を追加することもできます。
Public Function ModDate()
ModDate = Format(FileDateTime(ThisWorkbook.FullName), "m/d/yy h:n ampm")
End Function
そして、次のように呼び出します。
=ModDate()
編集:
以下も使用できます。
http://www.techonthenet.com/excel/formulas/filedatetime.php
ファイルがそれ自体を参照するようにする方法を理解する必要があります。
ただし、ファイルは開かれることによって変更されるため、現在の時刻である可能性があることに注意してください。詳細については、次を参照してください。
http://support.microsoft.com/kb/826741
したがって、NOW() だけで十分かもしれません。また、Excel のコンポーネントをプログラム ファイルで検索することもできますが、NOW がバイナリで記述されている場合、変更できない可能性があります。
でも...
マイクロソフトによると、
カスタム関数をどこでも利用できるようにする
カスタム関数を使用するには、関数を作成するモジュールを含むブックを開く必要があります。そのワークブックが開いていない場合は、#NAME? が表示されます。関数を使用しようとするとエラーが発生します。ブックが開いている場合でも、別のブックで関数を使用する場合は、関数名の前に関数が存在するブックの名前を付ける必要があります。たとえば、Personal.xls というワークブックで割引という関数を作成し、別のブックからその関数を呼び出す場合は、単に =Discount() ではなく、=personal.xls!Discount() と記述する必要があります。
[関数の挿入] ダイアログ ボックスからカスタム関数を選択することで、キーストローク (および入力エラーの可能性) を節約できます。(カスタム関数は [ユーザー定義] カテゴリに表示されます。) カスタム関数をいつでも使用できるようにする簡単な方法は、カスタム関数を別のワークブックに保存し、そのブックをアドイン (XLA ファイル) として XLStart に保存することです。フォルダ。(XLStart フォルダーは、Excel ファイルを含むフォルダーのサブフォルダーです。Excel を起動すると、プログラムは XLStart で見つかったすべてのドキュメントを開きます。) ワークブックをアドインとして保存するには、[ファイル]、[名前を付けて保存] (または [ファイル]、保存)。次に、[ファイルの種類] リストから [Microsoft Excel アドイン] を選択します。
ユーザー定義関数がメモリに存在する XLA ファイルに格納されている場合、関数を呼び出すときにそのファイルの名前を指定する必要はありません。XLA ファイルが XLStart フォルダーに保存されている場合は、Excel を実行するたびにメモリに存在します。
http://office.microsoft.com/en-us/excel-help/creating-custom-functions-HA001111701.aspx
したがって、ユーザー定義関数がそのワークブックにある場合、ファイルがどこにあっても問題なく機能するはずです。
それがあなたの答えになることを願っています。