VBAでシートを最後に追加する方法


方法1: SheetsコレクションのAddメソッドを使用する方法

Sub AddSheetToEnd()
    Dim wb As Workbook
    Dim ws As Worksheet

    Set wb = ThisWorkbook ' 現在のワークブックを取得
    Set ws = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count)) ' 最後のシートの後に新しいシートを追加

    ' 新しいシートの設定
    ws.Name = "新しいシート" ' シート名を設定
    ' 他の設定を行う場合はここに追加

End Sub

このコードでは、SheetsコレクションのAddメソッドを使用して、最後のシートの後に新しいシートを追加しています。Afterパラメータに、wb.Sheets.Countを指定することで、最後のシートの位置を指定しています。

方法2: SheetsコレクションのInsertメソッドを使用する方法

Sub AddSheetToEnd()
    Dim wb As Workbook
    Dim ws As Worksheet

    Set wb = ThisWorkbook ' 現在のワークブックを取得
    Set ws = wb.Sheets.Add(Count:=1) ' 新しいシートを追加

    ' 追加したシートを最後に移動
    ws.Move After:=wb.Sheets(wb.Sheets.Count)

    ' 新しいシートの設定
    ws.Name = "新しいシート" ' シート名を設定
    ' 他の設定を行う場合はここに追加

End Sub

このコードでは、SheetsコレクションのAddメソッドを使用して新しいシートを追加し、その後、Moveメソッドを使用して追加したシートを最後に移動しています。

上記のコード例では、新しいシートの名前を「新しいシート」として設定していますが、必要に応じて他の設定も追加できます。

これらの方法を使用することで、VBAを使ってExcelのワークブックに新しいシートを簡単に追加できます。ご参考までにお試しください。