教えて!ExcelVBA!

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

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

f:id:m_kbou:20200418155320p:plain

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

 

 

構文

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

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

 

使い方

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

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

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

[プログラミング例]:

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

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

  

おわりに

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