MENU

【初心者向け】SheetsとWorksheetsの違いを徹底解説|混同しがちなシート操作の基本

A子さん

SheetsWorksheets の違いが分からない…
どちらを使えばエラーにならない?
実務での使い分けのコツが知りたい!

結論:Sheetsは「すべてのシート」、Worksheetsは「ワークシートだけ」

目次

Sheetsとは?

ブック内のすべてのシート(ワークシート、グラフシート、その他)を扱うオブジェクトです。

Sheets(1).Select
先輩

ワークシートであるとは限らず、グラフシートが先頭にあればそれを選択します。

Worksheetsとは?

ブック内のワークシートだけを対象にするオブジェクトです。

Worksheets(1).Select
先輩

必ず通常のワークシートを指します。

Chart Sheet はカウントされません。

実際に使い分ける必要があるケース

シート構成SheetsWorksheets
通常のワークシートのみ✅ どちらも使用可能✅ 使用可能
グラフシートが含まれる⚠️ 意図しない挙動あり✅ 安定
シートの数を数える❗ ワークシート以外も含む✅ ワークシートだけカウント

使用例で比較してみよう

Sheetsを使った例

Dim i As Integer
For i = 1 To Sheets.Count
    Sheets(i).Select
    MsgBox Sheets(i).Name
Next i
先輩

グラフシートがあると Sheets(i).Select で意図しないシートが選ばれる可能性。

Worksheetsを使った例

Dim i As Integer
For i = 1 To Worksheets.Count
    Worksheets(i).Select
    MsgBox Worksheets(i).Name
Next i
先輩

ワークシートのみを対象にしているので、処理が安定します。

Sheetsを使うとエラーになるケース

以下のような処理は Sheets を使うとエラーや想定外の挙動を引き起こします。

❌ エラーの例(Chart Sheetに対してセル操作)

Sheets("グラフ1").Range("A1").Value = "テスト" ' → エラー

グラフシートにはセルが存在しないため、Range指定ができません。

まとめ:基本はWorksheetsを使うべし!

Sheets は「すべてのシート」、Worksheets は「通常のシートのみ」

グラフシートなどが含まれる場合は、Sheets を使うとエラーの原因に

安定した処理をしたいなら、基本は Worksheets を使うのがベスト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次