教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA シート操作】開いているブック内のシートの数を取得(Count)するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets.Count

解説

Worksheets.Countは、ワークシート(シート)の数をカウントするために使用される関数です。WorksheetsオブジェクトのCountプロパティを使用してワークシートの数を取得します。Countプロパティはワークシートの数を返します。

使い方

以下の例では、現在のブックに含まれるワークシートの数を取得して表示します。

Sub WorksheetCountExample()
    Dim sheetCount As Long
    sheetCount = Worksheets.Count
    MsgBox "ワークシートの数: " & sheetCount
End Sub

この例では、Worksheets.Countを使ってワークシートの数を取得し、sheetCountという変数に代入します。その後、MsgBox関数を使用してワークシートの数をメッセージボックスに表示します。

プログラミング例

以下の例では、ワークシートの数に基づいて新しいワークシートを作成します。

Sub CreateNewSheet()
    Dim sheetCount As Long
    Dim newSheet As Worksheet
    sheetCount = Worksheets.Count
    Set newSheet = Worksheets.Add(After:=Worksheets(sheetCount))
    newSheet.Name = "新しいシート"
    MsgBox "新しいシートを作成しました。"
End Sub

この例では、Worksheets.Countを使用してワークシートの数を取得し、sheetCountという変数に代入します。その後、Worksheets.Addメソッドを使用して新しいワークシートを作成します。新しいワークシートの位置を指定するために、After:=Worksheets(sheetCount)としています。そして、newSheet.Nameを設定して新しいシートの名前を変更します。

まとめ

Worksheets.Countを使えば、ワークシートの数を簡単にカウントすることができます。また、ワークシートの数を取得し、それを基にさまざまな操作や処理を行うことができます。例えば、ワークシートの数に応じてループ処理を行ったり、特定のワークシートを参照したりすることができます。是非活用してください。