ワークシートを作成するときは、ワークブックに関する特定の情報を追跡する必要がある場合があります。たとえば、ブックの作成日をセルに配置したい場合があります。 Excelには、日付(NOWやTODAYなど)のワークシート関数がいくつか用意されていますが、ブックの作成日にアクセスするためのワークシート関数はありません。

これは、答えがマクロの使用にあることを意味します。たとえば、現在の日付を決定し、それを特定のセルに(テキストとして)入力するマクロを作成できます。このマクロは、マクロにAuto_Openという名前を付けて、新しいブックを作成するたびに実行できます。以下はそのようなマクロの例です:

Sub Auto_Open()

If Worksheets.Application.Range("A1") = "" Then         Worksheets.Application.Range("A1") = Format(Date, "long Date")

End If End Sub

マクロは、セルA1に何があるかを確認します。そこに何もない場合は、今日の日付のテキストバージョンがそこに配置されます。すでにそこに何かがある場合(後でワークブックを開くたびにあります)、情報はそのままで無傷のままです。

ただし、おそらく最も満足のいくアプローチは、実際にオペレーティングシステムにアクセスし、現在のブックのファイル作成日を取得することです。これは、次のマクロ関数を使用して実行できます。

Function CreateDate() As String     Dim Temp As String

On Error Resume Next     Temp = CreateObject("scripting.filesystemobject"). _       GetFile(ActiveWorkbook.FullName).dateCreated     If Err.Number <> 0 Then         CreateDate = "Not Saved"

Else         CreateDate = Left(Temp, InStr(Temp, " ") - 1)

End If     On Error Goto 0 End Function

このアプローチは、ワークシートの特定のセルに関連付けられていないことに注意してください。マクロを使用するには、ワークシートの任意のセルに以下を入力するだけです。

=CreateDate()

この関数は、「未保存」(ブックが新しく、以前に保存されたことがない場合)を返すか、ブックが作成された日付を表すテキスト値を返します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(10234)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。