教えて!ExcelVBA!

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

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

f:id:m_kbou:20200418155320p:plain

Excelシートを新規で作成するにはAddメソッドを使用します。Addメソッドには引数を指定する事も可能で、引数を使用するとシートの種類・追加枚数・挿入位置も指定できます。このAddメソッドの使い方について紹介します。

 

 

構文

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

Sheets.Add[引数]

[説明]:

シートを新規追加させる場合は

 「Sheets.Add[引数]」

と記述します。

[引数]

シートの追加位置・追加枚数・種類等を記述します。
具体的には以下表の引数を記述します。
※省略する事も可能です。

引数 内容
After 指定したシートの直前に新しいシートを追加します。
Befor 指定したシートの直後に新しいシートを追加します。
Count 追加するシート数を指定します。
Type シートの種類を指定します。

[記述例]:

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

 

使い方

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

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

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

[プログラミング例]:

Sub サンプル()

  Sheets.Add

End Sub

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

f:id:m_kbou:20210228161345p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210228161410p:plain

②処理結果は以下の様になります。新規シート(Sheet4シート)がSheet1シートの前に追加されます。

f:id:m_kbou:20210228181721p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

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

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

[プログラミング例]:

Sub サンプル()

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

End Sub

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

f:id:m_kbou:20210228180741p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210228180756p:plain

②処理結果は以下の様になります。新規シート(Sheet4シート・Sheet5シート)がSheet1シートの後ろに追加されます。

f:id:m_kbou:20210228181741p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

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

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

[プログラミング例]:

Sub サンプル()

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

End Sub

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

f:id:m_kbou:20210228182307p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210228182321p:plain

②処理結果は以下の様になります。新規シート(Sheet4シート・Sheet5シート)がSheet1シートの前に追加されます。

f:id:m_kbou:20210228182338p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

 

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

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

[プログラミング例]:

Sub サンプル()

  Sheets.Add Type:=xlChart

End Sub

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

f:id:m_kbou:20210228183119p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210228182321p:plain 

②処理結果は以下の様になります。新規シート(Graph1シート)がSheet1シートの前に追加されます。

f:id:m_kbou:20210228183146p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

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

  

おわりに

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