シートを参照する

このマクロは、Excelワークブック内のシートやチャートシートを参照する方法をデモンストレーションしています。各行の説明を以下に示します。左からワークシート「Sheet1」、グラフシート「グラフ1」がある状態のブックにマクロが記述しています。

マクロの概要

sheetを参照するというサブルーチンは、ThisWorkbook(このコードが含まれているワークブック)内のシートやチャートシートの名前や数を表示します。

Sub ReferenceSheets()
    With ThisWorkbook
        ' シートの1番目のアイテムの名前
        Debug.Print .Sheets.Item(1).Name        'Sheet1
        ' シートの1番目のデフォルトのアイテムの名前
        Debug.Print .Sheets.[_Default](1).Name  'Sheet1
        ' シートの1番目のアイテムの名前
        Debug.Print .Sheets(1).Name             'Sheet1
        ' シートの2番目のアイテムの名前
        Debug.Print .Sheets(2).Name             'グラフ1

        ' ワークシートの1番目のアイテムの名前
        Debug.Print .Worksheets(1).Name         'Sheet1
        ' チャートシートの1番目のアイテムの名前
        Debug.Print .Charts(1).Name             'グラフ1
        ' 名前が "Sheet1" のシートの名前
        Debug.Print .Sheets("Sheet1").Name      'Sheet1
        ' 名前が "グラフ1" のシートの名前
        Debug.Print .Sheets("グラフ1").Name     'グラフ1

        ' "Sheet1" と "グラフ1" のシートの数
        Debug.Print .Sheets(Array("Sheet1", "グラフ1")).Count   '2
        ' シートの1番目と2番目のアイテムの数
        Debug.Print .Sheets(Array(1, 2)).Count                  '2
    End With
End Sub

各行の詳細な説明

  1. With ThisWorkbook:
    • ThisWorkbook はこのコードが含まれている現在のワークブックを指します。With ステートメントを使用して、このワークブックを参照するコードブロックを作成します。
  2. Debug.Print .Sheets.Item(1).Name:
    • Sheets コレクションの1番目のシートの名前をデバッグプリントします。通常、最初のシートは “Sheet1” です。
  3. Debug.Print .Sheets. .Name:
    • Sheets コレクションの1番目のデフォルトのアイテムの名前をデバッグプリントします。これも通常、最初のシートは “Sheet1” です。
  4. Debug.Print .Sheets(1).Name:
    • Sheets コレクションの1番目のシートの名前をデバッグプリントします。これも通常、最初のシートは “Sheet1” です。
  5. Debug.Print .Sheets(2).Name:
    • Sheets コレクションの2番目のシートの名前をデバッグプリントします。これが “グラフ1” などのチャートシートの名前であることを示しています。
  6. Debug.Print .Worksheets(1).Name:
    • Worksheets コレクションの1番目のワークシートの名前をデバッグプリントします。通常、最初のワークシートは “Sheet1” です。
  7. Debug.Print .Charts(1).Name:
    • Charts コレクションの1番目のチャートシートの名前をデバッグプリントします。通常、最初のチャートシートは “グラフ1” です。
  8. Debug.Print .Sheets("Sheet1").Name:
    • 名前が “Sheet1” のシートの名前をデバッグプリントします。
  9. Debug.Print .Sheets("グラフ1").Name:
    • 名前が “グラフ1” のシートの名前をデバッグプリントします。
  10. Debug.Print .Sheets(Array("Sheet1", "グラフ1")).Count:
    • “Sheet1” と “グラフ1” のシートの数をデバッグプリントします。この場合は2になります。
  11. Debug.Print .Sheets(Array(1, 2)).Count:
    • Sheets コレクションの1番目と2番目のアイテムの数をデバッグプリントします。この場合も2になります。

補足

  • Sheets コレクションには、ワークシート (Worksheets) とチャートシート (Charts) の両方が含まれます。
  • Worksheets コレクションには、ワークシートのみが含まれます。
  • Charts コレクションには、チャートシートのみが含まれます。

このサブルーチンは、シートやチャートシートの名前を取得し、それらをデバッグウィンドウに表示する方法を示しています。

Follow me!