【Excel/VBA】すべてのシートの名前を取得する方法
Excelブック内のシートをすべて見に行くようなプログラムを作りたい場合があると思いますが、すべてのシートを巡回するためには、シート名を知る必要があります。
以下のようにFor Each文を使います。sheet_nameにWorksheetsを順に入れていって全てのシート分だけループします。その中でsheet_name.Nameでシート名を抽出できるわけですね。
Sub getSheet() r = 1 For Each sheet_name In Worksheets Cells(r, 1).Value = sheet_name.Name r = r + 1 Next End Sub
上の例だとA列の1行目からシート名が列挙されるようになります。実行した結果は以下の通りです。
現在いるシート名も取得してしまうので、それが嫌ならIF文などで除外しましょう。
業務系では結構使う頻度が高いと思います。
スポンサーリンク