【VBA】新しいシートを一番後ろに追加する方法

Excel VBAを使うと、シートを自動的に追加することができます。今回は、**「新しいシートを一番後ろに追加する」**方法を解説します。


1. 基本の書き方

新しいシートを最後に追加するには、Sheets.Add メソッドを使用し、After 引数に最後のシートを指定します。

Sheets.Add After:=Sheets(Sheets.Count)

2. コードの具体例

以下は、新しいシートをブックの一番最後に追加するサンプルコードです。

Sub シートを最後に追加する()
Sheets.Add After:=Sheets(Sheets.Count)
End Sub

このコードを実行すると、ブック内の最後のシートの後ろに新しいシートが追加されます。


3. 追加されたシートに名前をつける例

新しいシートを追加した後、任意の名前をつけたい場合は以下のようにします。

Sub 最後にシート追加_名前変更()
Dim newSheet As Worksheet
Set newSheet = Sheets.Add(After:=Sheets(Sheets.Count))

newSheet.Name = "新規シート"
End Sub

4. ポイント・注意点

  • SheetsとWorksheetsの違い
    Sheetsはワークシートだけでなく、グラフシートも含みます。
    通常のワークシートだけを対象にする場合はWorksheetsを使いましょう。
  • 最後のシートを正確に指定するには
    シートの総数はSheets.Countで取得できます。
    そのため、Sheets(Sheets.Count)は「最後のシート」を意味します。

5. まとめ

  • Sheets.Add After:=Sheets(Sheets.Count)で最後に新しいシートを追加できる。
  • 追加後にシート名を変更することも可能。
  • シート数が変動する場合でも、Sheets.Countを使えば常に正しい位置に追加できる。

VBAでシートを動的に管理したい場面では、ぜひ活用してみてください。

コメント

タイトルとURLをコピーしました