EXCEL VBA ワークシートの追加・複数追加・先頭・最後(Worksheets.Addメゾット)

 

 

EXCEL VBA ワークシートの追加・複数追加・先頭・最後(Worksheets.Addメゾット)

 

 

 ●はじめに

今回は、Worksheets.Addメゾットの使い方を説明いたします。Addメゾットは、シート挿入する場所を指定したり、追加するシート枚数を設定する事が出来ます。EXCELは、複数のシートを管理する事が出来るので、シートの管理はとでも重要になります。まとめてシートを挿入する時や指定する位置にシートを挿入する際は、Worksheets.Addメゾットを利用する事で簡単にシートを追加(操作)する事が出来ます。なお、複数シートを管理する時の注意点として、シート名追加する時は、シート名の重複を回避する必要があります。サンプルプログラム③では、そのシート名の重複回避方法もサンプルプログラムで記載しておりますので、参照して下さい。それでは、順番に説明いたします。

【参照ページ:グラフシートの作成】

EXCEL VBA グラフシートにグラフを作成する方法(Charts.Add : SetSourceData) データ範囲を指定してグラフの作成

 

【参照ページ:Worksheet・ワークシートの取り扱い】

EXCEL VBA Worksheet・ワークシートの取り扱い・指定・参照・追加・削除方法

 

 

 

 ●書式の説明 (Worksheets.Addメゾット)

【Worksheets.Addメゾットの使い方】

● Worksheets.Add(Before,After,Count,Type)

引数名必須・オプションデータ型説明
BeforeオプションVariant指定したオブジェクトのシートの直前に、新しいシートを追加します。
AfterオプションVariant指定したオブジェクトのシートの直後に、新しい シートを追加します。
CountオプションVariant追加するシートの数を指定します。 既定値は、1になります。
Type省略可能Variantワークシートの種類を指定します。
・xlWorksheet  (ワークシート:既定値)
・xlChart (グラフシート)
・xlExcel4IntlMacroSheet (International Macro シート)
・xlExcel4MacroSheet ( Macro シート)


・【Before】か【After】のいずれかの引数で追加先を指定

・【Count】でワークシートの追加数を指定

 


『使用例』

ThisWorkbook.Worksheets.Add After:=Worksheets(“Sheet1”), Count:=1

(説明:ワークシート【Sheet1】の次にワークシートを1つ追加します。)

 



【注意点】

Worksheets.Addメゾットの注意点としては、ワークシートを追加や削除を行う場合は、処理を実行するブックも指定していないと、複数ブックを立ち上げている場合、誤って違うブックにシートを追加する可能性があります。今回、紹介するサンプルプログラムは、全て【ThisWorkbook】を記入していますので、プログラムが記入されているブックが対象となります。

 

 

 

Worksheets.Addメゾットの利用方法(指定追加・前に追加・最後に追加)

 

 

 ●プログラム説明  サンプル① (Worksheets.Addメゾット)

下記のサンプルプログラムは、Worksheets.Addメゾットの利用方法を説明します。ワークシートを追加する際に、指定追加・前に追加・最後に追加する方法を4パターン説明いたします。

 

 

 

●実行前~実行後 ※プログラム実行後、指定した通りにワークシートが追加されました。
(画面クリックして拡大)

 

 

 

指定するワークシートの挿入先に指定するシート名でシートを挿入する。

 

 

●プログラム説明  サンプル② (Worksheets.Addメゾット)

下記のサンプルプログラムは、指定するワークシートの挿入先に指定するシート名でシートを挿入するサンプルプログラムです。下記のサンプルプログラムは、ワークシートを複数管理する場合やシートとシートの間に新たにシートを挿入する場合などに利用できると思います。

 

 

 

 ●実行前~実行後 ※プログラム実行後、ワークシート「シート名一覧」に記載されている【挿入元】と【挿入するシート名】を元に指定された位置に、シートが挿入されました。
(画面クリックして拡大)

 

 

ワークシートを挿入した際に、シート名が重複した場合の対処(対応・回避)

 

 

●プログラム説明  サンプル③ (Worksheets.Addメゾット)

下記のサンプルプログラムは、ワークシートを挿入した際に、挿入したシート名が重複した場合に回避するサンプルプログラムです。VBAプログラムでシートを挿入する際に、同じシート名で挿入するとエラーが発生するので、同じ名前でシートが挿入されないようにする必要があります。

【プログラム内容条件】
●ワークシート「挿入シート」に一覧表示されている「挿入シート」名を挿入します。
●ワークシートを挿入する際に、既に登録されているワークシート名を把握する。
●既に登録されているワークシート名が有る場合は、追加するワークシート名に数字を追記したワークシート名で追加します。
(例)ワークシート名で、「東京」が既に存在して、更に「東京」を追加する場合は、「東京1」で登録します。また、既に「東京1」が有る場合は、「東京2」となります。

 

 

 

  ●実行前~実行後 ※プログラム実行後、ワークシート「シート名一覧」に一覧表示されている「挿入シート」名をシート追加します。シート追加する際は、重複されている場合は、シート名に連番を付けてシート挿入されました。シート名が重複されていなければ、そのままシート名が挿入されました。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。