
Excel VBAでよくある処理の1つが
**「シートの枚数を数える」**です。
例えばこんな場面で使います。
-
シート数に応じて処理を変える
-
全シートをループする前に確認
-
管理用のチェック処理
この記事では、シート数をカウントする方法をわかりやすく解説します。
基本:Sheets.Count を使う
最もシンプルな方法はこれです。
Sub CountSheets()
MsgBox Sheets.Count
End Sub
実行結果
例えばシートが5枚ある場合
5
と表示されます。
Sheets と Worksheets の違い
ここで重要なポイントがあります。
Sheets
Sheets.Count
👉 すべてのシートをカウント
-
ワークシート
-
グラフシート
Worksheets
Worksheets.Count
👉 ワークシートのみカウント
使い分け
| 目的 | 使うもの |
|---|---|
| すべてのシート | Sheets |
| 通常のシートだけ | Worksheets |
実務でよく使う例
ループ処理
Sub LoopSheets()
Dim i As Long
For i = 1 To Sheets.Count
Debug.Print Sheets(i).Name
Next i
End Sub
注意点
非表示シートも含まれる
Sheets.Count
👉 非表示シートもカウントされます
まとめ
シート数を取得する基本はこれです。
Sheets.Count
一言まとめ
シート数を知りたいときは「Sheets.Count」でOK!