このシートの名前は?さらに簡単に知る方法

以前、シート名を取得するユーザー定義型関数を作りましたが、引数が不要な方法を新たに思いつきました。

以前のユーザー定義型関数

以前のやり方は、名前を知りたいシートの任意のセルを引数Rngに渡すことによって、Rng.Parent つまりセルの親要素であるシートオブジェクトを取得し、Rng.Parent.Nameでシート名を取得していました。この場合、

のように、引数を指定する必要があります。

新たな方法

今回は、さらに手を抜くために、引数を渡さずにシート名を取得する方法を考えてみました。

調べてみると、ユーザー定義関数が書き込まれているセルは、Application.ThisCellで取得できるようです。これを使って引数が不要なユーザー定義関数を作ることができます。

こうすると

のように、引数を省略してもシート名が取得できます。

関連記事