はじめに
Excelで作業をしていると、
「新しいシートを追加して整理したい」
「処理の途中でシートを自動で増やしたい」
そんな場面がよくあります。
VBAを使えば、必要なタイミングでシートを追加したり、
名前をつけたり、好きな位置に挿入したりと、柔軟に操作できます。
ここでは、シートを追加する基本のコードと、そのしくみを解説します。
まずはコードを確認
Worksheets.Add
もっともシンプルな書き方です。
この1行で、新しいシートが1枚追加されます。
コードのしくみを解説
どこにシートが追加されるのか
Worksheets.Add を実行すると、
アクティブシートの前に 新しいシートが挿入されます。
たとえば、Sheet3 が選ばれている状態で実行すると、
Sheet3 の前に新しいシートが入ります。
追加したシートに名前をつけたい場合
Worksheets.Add.Name = "集計"
追加と同時に名前をつけることができます。
追加する位置を指定したい場合
前に挿入するか、後ろに挿入するかを選べます。
Worksheets.Add Before:=Worksheets("Sheet2")
Worksheets.Add After:=Worksheets("Sheet2")
変数で受け取って操作したい場合
追加したシートを変数に入れておくと、後続の処理が書きやすくなります。
Dim ws As Worksheet
Set ws = Worksheets.Add
ws.Name = "レポート"
あわせて知っておきたいポイント
最後にシートを追加したい場合
Worksheets.Add After:=Worksheets(Worksheets.Count)
シート数が多いブックでも、最後尾に追加できます。
複数枚まとめて追加したい場合
Worksheets.Add Count:=3
3枚のシートを一度に追加できます。
シートの種類を指定したい場合
通常は Worksheet ですが、Chart シートを追加することもできます。
Charts.Add
使うときに気をつけたいこと
- 同じ名前のシートは作れません
→ 名前をつけるときは重複に注意しましょう。
- 非表示シートの前後に追加されることがあります
→ Before / After を使うときは対象シートを確認しておくと安心です。
- 追加したシートがアクティブになります
→ 後続の処理でアクティブシートを使う場合は注意が必要です。
まとめ
- Worksheets.Add で新しいシートを追加できる
- 名前や挿入位置を指定することで、柔軟に操作できる
- 実務でもよく使う、覚えておくと便利な基本テクニック
シートを自動で追加できると、VBAの処理がよりスムーズになります。

decopon
シートの追加は、VBAの中でもシンプルで使いやすい機能です。
ちょっとした整理や自動化にも役立つので、ぜひ気軽に使ってみてください。

moco
必要なときにサッとシートを増やせるのは、VBAのいいところ。
人は、作業に集中できる時間が増えるね。

コメント