Myrnaは、セル内のワークシートタブの情報を使用する方法があるかどうか尋ねました。特に、彼女は日付を使用してタブに名前を付け、ワークシート自体でそれらの日付を使用したいと考えています。

これを行うには2つの方法があります。ワークシートタブの名前が日付のみで構成されている(他のテキストが含まれていない)場合は、次のExcel数式を使用して日付を抽出できます。

=MID(CELL("filename"),FIND("]",CELL("filename"),1)+1,10)

CELL( “filename”)関数は、ワークシートタブのテキストとともに、現在のファイルの完全なパスと名前を返すため、これは機能します。

ファイル名自体は角括弧内に表示されます。数式は、閉じ括弧の位置を見つけ、その位置から最後まで最初の8文字を抽出します。 (日付は、2020年12月31日のように、最大​​10文字で表すことができます。)

この数式を使用する際の注意点の1つは、最初にブックを保存した場合にのみ、価値のあるものが返されることです。保存されていない新しいブックで使用すると、#VALUEエラーが返されます。

特にワークシートタブに追加のテキストがある場合に非常に魅力的なもう1つのアプローチは、ユーザー定義関数を作成することです。たとえば、ワークシートのタブの名前が「MonthEnding10-31-20」であるとします。この場合、次のような関数を使用できます。

Function SheetName() As Date     Dim sTab As String     Application.Volatile     sTab = ActiveSheet.Name     sTab = Trim(Right(sTab, 8))

SheetName = CDate(sTab)

End Function

ワークシートでこの関数を使用するには、セルに次のように入力するだけです。

=SheetName()

この関数は日付のシリアル番号を返すため、使用可能な日付形式の1つを使用してセルをフォーマットする必要があります。この関数は、日付がワークシートタブのテキストの最後の8文字であると想定しているため機能します。ワークシートのタブで異なる命名規則が使用されている場合(タブの先頭に日付を配置したり、日付に10桁を使用したりするなど)、必要なのはマクロで名前を別の方法で分解することだけです。

注:

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

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

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