シートを追加(挿入)する時は、WorksheetsコレクションのAddメソッドを使います。
名前付き引数を使うと、追加するシートの場所や数も指定できます。(応用テクニック参照)
Worksheets.Addメソッドでシートを追加
コード
1 2 3 4 |
'ワークシートの追加 Worksheets.Add |
解説
実行すると、アクティブシートの左側に新しいワークシートが追加されます。
ワークシートを追加後は、追加した新しいシートがアクティブな状態となっています。
名前付き引数を使った詳細設定
名前付き引数を使うと、追加するシートの挿入位置や、数、タイプを設定できます。
よく使うのは、新しいシートの挿入場所を指定するBeforeとAfterです。
Worksheets.Add([Before], [After], [Count], [Type])
名前 | 省略 | 説明 |
---|---|---|
Before | ○ | 指定したシートの直前に、新しいシートを追加。 |
After | ○ | 指定したシートの直後に、新しいシートを追加。 |
Count | ○ | 追加するシートの数を指定。 未指定の時は1です。 |
Type | ○ | 追加するシートの種類を指定。 未指定時はxlWorksheet(ワークシート)です。なので、引数でTypeを指定することはありません。他にXlSheetType定数にxlChart(グラフシート)、xlDialogSheet(ダイアログシート)などがありますが、Worksheetsに追加するとエラーとなります。 |
引数Typeに関しては、説明の意味わからなくてOKです。
ほぼ使うことないので・・・
Before(~の前)、After(~の後ろ)はどちらも挿入場所を指定する引数なので、使う時はどちらか片方だけです。
実際の使い方は、下で紹介している「応用テクニック」の各記事を参考にしてください。
応用テクニック
新しいワークシートを先頭に追加する
Worksheets.Addで新しいシートを追加する時に、Before:=Worksheets(1)と指定すると、シートの先頭(1番左)に追加されます。
コード
1 2 3 4 |
'ワークシートの先頭(左側)に追加 Worksheets.Add Before:=Worksheets(1) |
【VBA】新しいワークシートを先頭に追加する
Before:=Worksheets(1)でシートを追加
Worksheets.Addで新しいシートを追加する時に、Before:=Worksheets(1)と指定すると、シートの先頭(1番左)に追加されます。
コード
'ワークシート...
新しいワークシートを最後に追加する
Worksheets.Addで新しいシートを追加する時に、After:=Worksheets(Worksheets.Count)と指定すると、シートの最後(1番右)に追加されます。
コード
1 2 3 4 |
'ワークシートの最後(右側)に追加 Worksheets.Add After:=Worksheets(Worksheets.Count) |
【VBA】新しいワークシートを最後に追加する
After:=Worksheets(Worksheets.Count)でシートを追加
Worksheets.Addで新しいシートを追加する時に、After:=Worksheets(Worksheets.Count)と指定すると、シートの最...
複数のワークシートをまとめて追加する
Worksheets.Addで新しいシートを追加する時に、「Count:=数値」を指定します。
指定した数値の数だけシートが追加されます。
コード
1 2 3 4 |
'ワークシートを2つ追加 Worksheets.Add Count:=2 |
【VBA】複数のワークシートをまとめて追加する
Count:=数値 でシートを追加
Worksheets.Addで新しいシートを追加する時に、「Count:=数値」を指定します。
指定した数値の数だけシートが追加されます。
コード
'ワークシートを2つ追加
Workshee...