Excel でシート名を取得する方法を説明します。

コード

シート名を取得します。

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

説明

・CELL(“filename”) は、シート名をファイル名付きのフルネームで返します。(フルシート名と呼ぶことにします。) 例えば、D:\[test.xlsx]Sheet1 のようなフルシート名が返されます。

・FIND(“]”,CELL(“filename”)) は、フルシート名から、”]” の位置を検出します。

・最後に MID は、フルシート名の中から、”]” の位置 + 1 の位置から最後までの文字列を取得します。これがシート名になります。

・つまり、シート名の直前には必ず “]” が存在します。その位置 + 1 から最後まで取得すればよいのです。ここで 31 を指定してファイル名を取得していますが、この 31 はシート名の長さの上限値です。

・ここでの疑問は、ファイル名やシート名に “]” が含まれていたら、結果が違ってくる可能性がありますが、ファイル名とシート名ともに、”]” を名称に含めることはシステム上できません。

・尚、CELL(“filename”) はブックを保存しておかないと、取得できません。