Sheets コレクションのループ

このサブプロシージャ (Sub) は、Excel ワークブック内のシートをループし、それぞれのシート名をデバッグ出力ウィンドウに表示します。以下にコードの各部分の詳細な説明を示します。

Sub LoopSheetsCollection()
    With ThisWorkbook
        Dim sh As Object
        ' すべてのシートをループしてシート名を表示する
        For Each sh In .Sheets
            Debug.Print sh.Name
        Next sh
        
        ' すべてのワークシートをループしてシート名を表示する
        For Each sh In .Worksheets
            Debug.Print sh.Name
        Next sh
        
        Dim i As Long
        ' シートのインデックス番号を使用してシート名を表示する
        For i = 1 To .Sheets.Count
            Debug.Print Sheets(i).Name
        Next i
    End With
End Sub

詳細な説明

  1. Sub LoopSheetsCollection()
    • これは、LoopSheetsCollection という名前のサブプロシージャの開始を示します。
  2. With ThisWorkbook
    • ThisWorkbook は、このコードが含まれているブックを指します。With ステートメントを使って、以降のコードブロック内で ThisWorkbook を参照しやすくします。
  3. Dim sh As Object
    • 変数 shObject 型として宣言します。これは、後でシートオブジェクトを保持するために使用されます。
  4. For Each sh In .Sheets
    • すべてのシートをループします(ワークシート、チャートシートなど、すべての種類のシートを含む)。
  5. Debug.Print sh.Name
    • 各シートの名前をデバッグ出力ウィンドウに表示します。
  6. Next sh
    • For Each ループを終了します。
  7. For Each sh In .Worksheets
    • すべてのワークシートをループします(チャートシートを除く)。
  8. Debug.Print sh.Name
    • 各ワークシートの名前をデバッグ出力ウィンドウに表示します。
  9. Next sh
    • For Each ループを終了します。
  10. Dim i As Long
    • 変数 iLong 型として宣言します。これは、後でシートのインデックスを保持するために使用されます。
  11. For i = 1 To .Sheets.Count
    • シートの数だけループします(シートのインデックスは 1 から始まるため)。
  12. Debug.Print Sheets(i).Name
    • 各シートの名前をデバッグ出力ウィンドウに表示します。
  13. Next i
    • For ループを終了します。
  14. End With
    • With ステートメントを終了します。
  15. End Sub
    • サブプロシージャの終了を示します。

概要

このサブプロシージャは、Excel ワークブック内のすべてのシートとワークシートをループし、それぞれのシート名をデバッグ出力ウィンドウに表示します。異なるループ構造を使用して、シートコレクション全体(Sheets)とワークシートコレクション(Worksheets)を個別に処理し、シートのインデックスを用いて同様の処理を行います。

Follow me!

Excel

前の記事

シートを参照する
Excel

次の記事

シートの追加