関数によるシート名の取得
下記の式で取得できます。
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",
CELL("filename",A1)))
- CELL("filename",A1) : フォルダ名[ファイル名]シート名が返ります。
- LEN(CELL("filename",A1)) : CELL関数で取得した文字列の長さが返ります。
- FIND("]", CELL("filename",A1)) : CELL関数で取得した文字列から"]"の文字がある位置が返ります。
- LEN(CELL("filename",A1))-FIND("]", CELL("filename",A1)) : これでシート名の文字数が取得できます。
- =RIGHT(…) : CELL関数で取得した文字列から、シート名の文字数だけ取り出します。
別のシートの別のセル位置でも、問題なく取得できます。
VBAによるシート名一覧の作成
VBAを入力します。
リボンの[開発]~[コードの表示]をクリックします。
リボンに開発タブがない場合、「
リボンに開発タブを表示する」を参照してください。
1.下記のVBAコードを入力します。
2.VBAコード内にカーソルがある状態で、[Sub/ユーザーフォームの実行]ボタンをクリックします。
Sub MyGetSheetName()
Dim i As Long
For i = 1 To Sheets.Count
Range("B" & i).Value = Worksheets(i).Name
Next i
End Sub
- Dim i As Long : 変数iを宣言しています
- For i = 1 To Sheets.Count : Sheets.Countで取得できるシート数を、For Nextでループします。
- Range("B" & i).Value = Worksheets(i).Name : Worksheets(i).Nameで取得できるi番目のシート名を、B列のセルに代入します。
これでシート名一覧が表示されます。