初心者向けexcelの使い方:関数によるシート名の取得とVBAによるシート名一覧の作成

関数によるシート名取得は、RIGHT・CELL・LEN・FIND関数を使用します。VBAによるシート名一覧の作成は、Sheets.Countでシート数だけループし、Worksheets().Nameで取得します。




Homeに戻る > 初心者向けexcelの使い方に戻る

関数によるシート名の取得

下記の式で取得できます。
=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列のセルに代入します。
VBAコードを入力し実行する

これでシート名一覧が表示されます。
シート名一覧が表示された

Homeに戻る > 初心者向けexcelの使い方に戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved