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でシートを動的に管理したい場面では、ぜひ活用してみてください。
コメント