Excelでシート名を取得するにはどうすればよいですか?
Excel には、アクティブ シートの名前を直接取得する関数はありません。この問題の解決策は、複数の関数を使用して数式を作成するか、VBA を使用して作成されたカスタム関数を使用することです。
このチュートリアルでは、両方の方法を例を挙げて学習します。
数式を使用してワークシート名を取得する
ワークシートの名前を取得する数式を作成するには、CELLS、FIND、および MID 関数を使用する必要があります。シート名を取得できる関数は次のとおりです。
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename")))
シート名を取得するワークシートのセルの 1 つに上記の数式を入力します。さて、この公式を理解しましょう。それを理解するには、それを 4 つの部分に分ける必要があります。
最初の部分には、現在のシートの名前を持つワークブックのアドレスを返す CELL 関数があります。
そして、これが cell 関数から取得したアドレスです。ここでは、アドレスの最後にシートの名前があり、その名前を取得する必要があることがわかります。
2 番目の部分では、セル関数を使用してアドレスを取得し、シート名の 1 つ前にある文字の位置を見つける FIND 関数があります。
そして、「]」の位置番号を取得したら、それに 1 を加算して、シート名の最初の文字の位置を取得する必要があります。
3 番目の部分では、パス全体の文字を数える LEN 関数と CELL 関数があります。
この時点で、アドレス パス、シート名の最初の文字の位置、アドレス パス内の文字数がわかります。
4 番目の部分では、MID 関数を使用して、結果にシート名が含まれます。
シート名を取得するユーザー定義関数を作成します。
UDF を使用してシート名を取得するのが最も簡単な方法です。複雑な数式を作成する必要はなく、次のような単純なコードを作成する必要があります。
Function mySheetName() mySheetName = ActiveSheet.Name End Function
次に、このコードを使用して現在のワークシートの名前をセルに抽出する方法を見てみましょう。次の手順を使用します。
- まず、「開発」タブに移動し、「Visual Basic」をクリックします。
- Visual Basic Editor で、[挿入] オプションに移動し、モジュールをクリックしてモジュールを挿入します。
- その後、コード ウィンドウに移動し、そこに上記のコードを貼り付けます。
- 最後に、Visual Basic エディタを閉じて、スプレッドシートに戻ります。
ここで、ワークシート内の名前を取得したいセルの 1 つを選択し、そのセルに次の関数を入力します。
このチュートリアルでは、カスタム関数の作成について詳しく学ぶことができます。
Excelファイルを取得する
ダウンロード関連する式
- Excelで水平フィルタを作成する
- Excel で星評価テンプレートを作成する
- Excelでファイル名を取得する
- Excel でランダムな文字をすばやく生成する
- Excelでリストをランダム化する(ランダムソート)