ここではVBAでシートを追加する方法について説明します。

新規シート追加の基本を覚えよう

新規でシートを追加するには以下の書式を使用します。

Worksheets.Add

この方法でシートを追加すると、現在アクティブなシートの前にシートが追加されます。

以下に例を示します。

  Worksheets.Add

アクティブなシートが「sheet3」である時に実行すると以下のようになります。




先頭にシートを追加するには?

あるシートの前にシートを追加したい場合は、Worksheets.Addの後ろに「Before:任意のシート」と書きます。

先頭のシートは「Sheets(1)」で表すことができますので、以下例のようにすると先頭にシートが追加されます。

  'シートを先頭に追加 
Worksheets.Add Before:=Sheets(1)

シートが2つある状態で実行をすると、以下のように先頭に「sheet3」が追加されます。




指定したシートの前にシートを追加するには?

指定したシートの前にシートを追加するには、以下の書式を使用します。

Worksheets.Add Before:=Sheets(シートのインデックス)
 または
Worksheets.Add Before:=Sheets("シート名")

以下に例を示します。

  '「sheet2」の前にシートを追加 
Worksheets.Add Before:=Sheets("sheet2")

以下に実行例を示します。




最後尾にシートを追加するには?

最後尾にシートを追加するには、Worksheets.Addの後ろに「After:=Sheets(Worksheets.Count)」と書きます。

Worksheets.Countは、現在の総シート数を表します。

  '最後尾にシートを追加 
Worksheets.Add After:=Sheets(Worksheets.Count)

シートが2つある状態で実行をすると、以下のように最後尾に「sheet3」が追加されます。




指定したシートの後ろにシートを追加するには?

指定したシートの後ろにシートを追加するには、以下の書式を使用します。

Worksheets.Add After:=Sheets(シートのインデックス)
 または
Worksheets.Add After:=Sheets("シート名")

以下に例を示します。

  '「sheet2」の後ろにシートを追加 
Worksheets.Add After:=Sheets("sheet2")

以下に実行例を示します。