教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA シート操作】新規シートを追加作成(Add)するにはどうすればいいの?教えて!

       f:id:m_kbou:20200418155320p:plain

Excelシートを追加・作成する方法について説明します。引数を使用するとシートの種類・追加枚数・挿入位置も指定できます。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

=======================================================================

Sheets.Add[引数 

=======================================================================

[説明]:

シートを新規追加させる場合は「Sheets.Add[引数]」と記述します。[引数]にはシートの挿入位置・追加枚数・種類を指定する引数を記述します。[引数]は省略する事もできます。具体的な引数については、以下表に纏めておきますので参考にして下さい。内容を纏めると、「[引数]で記述した条件でシートを追加作成して下さい。」との意味になります。

f:id:m_kbou:20190701093602p:plain

[記述例]:

Sheets.Add
Sheets.Add After:=Worksheets(1), Count:=2
Sheets.Add Before:=Worksheets(1), Count:=2
Sheets.Add Type:=xlChart

 

使い方

使い方について、具体的に説明していきます。

通常のシート追加方法(引数省略)

通常のシートを追加する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets.Add
End Sub

-------------------------------------------------

内容は、「シートを追加作成して下さい。」との意味になります。

[実行例]:

(実行前)

※ブック内にはSheet1シート・Sheet2シート・Sheet3シートがあります。

f:id:m_kbou:20190701094027p:plain

(実行後)

※新規シート(Sheet4シート)がSheet1シートの前に追加されました。

f:id:m_kbou:20190701094047p:plain

通常のシートを追加する方法についての説明は以上です。

 

指定したシートの後に新規シートを指定枚数追加する方法

指定したシートの後に新規シートを指定枚数追加する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets.Add After:=Worksheets(1), Count:=2
End Sub

-------------------------------------------------

内容は、「sheet(1)の後に新しいシートを2つ追加作成して下さい。」との意味になります。

[実行例]:

(実行前)

※ブック内にはSheet1シート・Sheet2シート・Sheet3シートがあります。

f:id:m_kbou:20190701094027p:plain

(実行後)

※新規シート(Sheet4シート・Sheet5シート)がSheet1シートの後ろに追加されました。

f:id:m_kbou:20190701094843p:plain

指定したシートの後に新規シートを指定枚数追加する方法についての説明は以上です。

 

指定したシートの前に新規シートを指定枚数追加する方法

指定したシートの前に新規シートを指定枚数追加する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets.Add Before:=Worksheets(1), Count:=2
End Sub

-------------------------------------------------

内容は、「sheet(1)の前に新しいシートを2つ追加作成して下さい。」との意味になります。

[実行例]:

(実行前)

※ブック内にはSheet1シート・Sheet2シート・Sheet3シートがあります。

f:id:m_kbou:20190701094027p:plain

(実行後)

※新規シート(Sheet4シート・Sheet5シート)がSheet1シートの前に追加されました。

f:id:m_kbou:20190701095111p:plain

指定したシートの前に新規シートを指定枚数追加する方法についての説明は以上です。

 

新規のグラフシートを追加する方法

新規のグラフシートを追加する方法について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Sheets.Add Type:=xlChart
End Sub

-------------------------------------------------

内容は、「新しいグラフシートを追加作成して下さい。」との意味になります。

[実行例]:

(実行前)

※ブック内にはSheet1シート・Sheet2シート・Sheet3シートがあります。

f:id:m_kbou:20190701094027p:plain

(実行後)

※新規シート(Graph1シート)がSheet1シートの前に追加されました。

f:id:m_kbou:20190701095438p:plain

新規のグラフシートを追加する方法についての説明は以上です。

  

おわりに

今回は新規シートを追加作成する方法について説明しました。プログラミングをする上で、新規追加したシートにデータのコピー&ペーストをするケースは多々あります。是非有効に活用して下さい。