ワークシート名の参照(Microsoft Excel)
Jonは、ワークシートに= ROW()または= COLUMN()と同等の関数があるかどうか疑問に思います。彼は(たとえば)ワークブックの4番目のシートを参照する必要がありますが、ワークシートの名前がわかりません。
何をする必要があるかに応じて、この問題に取り組む方法はいくつかあります。すでに保存されているワークシートを使用している場合は、次の式でSheet4のワークシート名を取得できます。
=MID(CELL("filename",Sheet4!A1),FIND("]",CELL( "filename",Sheet4!A1))+1,LEN(CELL("filename", Sheet4!A1)))
この式にはいくつかの仮定があることに注意してください。
まず(そして最も重要なことですが)、ワークシートの初期名を知っていることを前提としています。この場合、初期名はSheet4です。数式が配置されると、ワークシート名へのその後の変更は自動的に数式に反映されます。 2番目の前提は、作業中のブックが保存されていることです。そうでない場合は、ブックが保存されて再計算されるまで、数式はエラーを返します。
別のアプローチは、ユーザー定義関数を使用することです。 VBAのオブジェクトモデルでは、ブック内のすべてのワークシートがSheetsコレクションに含まれています。これらは、順番にインデックスが付けられます。したがって、インデックス値を関数に渡して、コレクションのインデックス番号でワークシートの名前を取得できます。
Function TabName(lSNum As Long) As String If lSNum > 0 And lSNum <= Sheets.Count Then TabName = Sheets(lSNum).Name End If End Function
たとえば、コレクションの4番目のワークシートの名前を知りたい場合は、ワークシートで次を使用できます。
=TabName(4)
保存されていないブックでも、この機能は問題なく機能します。また、ワークシートの名前が変更されたり移動されたりした場合でも、適切なワークシート名が返されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(11553)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkワークシート名の参照。