非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【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文などで除外しましょう。

業務系では結構使う頻度が高いと思います。

 

スポンサーリンク

 - Excel, VBA