Home > 即効テクニック > Excel VBA > シート操作関連のテクニック > シートを追加する(Addメソッド)

即効テクニック

シート操作関連のテクニック

シートを追加する(Addメソッド)

(Excel 2000)
新しくシートを追加します。引数の指定により、追加する場所、枚数、追加するシートの種類を指定することが可能です。
ただし、Worksheetsコレクションオブジェクトが対象の場合には、グラフシートとExcel5ダイアログシートを追加することはできません。

・引数Typeで指定する定数一覧(XlSheetTypeクラス)
定数                    値     追加するシートの種類	  使用可能なObject
xlChart                -4109   グラフシート	          Sheets
xlDialogSheet          -4116   Excel5ダイアログシート     Sheets
xlExcel4IntlMacroSheet   4     Excel4インターナショナル   Sheets,Worksheets
                               マクロシート
xlExcel4MacroSheet       3     Excel4マクロシート         Sheets,Worksheets
xlWorksheet (既定値) -4167   ワークシート               Sheets,Worksheets


構文  Object.Add(Before, After, Count, Type)

設定項目     内容
Object       Worksheetsオブジェクトコレクション,
             Sheetsオブジェクトコレクション,
             Chartsコレクションオブジェクト
Before       指定したシートの直前に新しいシートを追加  [省略可能]
After        指定したシートの直後に新しいシートを追加  [省略可能]
Count        追加するシートの枚数を指定。既定値は1     [省略可能]
Type         追加するシートの種類(上記表参照)        [省略可能]


次のサンプルはアクティブブックの一番最後に、シート名を指定して新規ワークシートを追加します。

●サンプル1●
Sub AddSamp1()

    Worksheets.Add(after:=Worksheets(Worksheets.Count)) _
        .Name = Format(Now(), "h時mm分ss秒")
    '---現在時刻が名前になっているワークシートを一番最後に追加する

End Sub
●複数のシートを追加する場合●
複数のシートを追加する場合、2枚目以降のシートは直前に追加したシートの左側に配置されます。また、追加したシートをそのまま操作の対象とする場合、対象となるのは追加した全てのシートではなく、一番最後に追加された単体のシートだけです。
次のサンプルは、1番左のワークシートの右に3枚のワークシートを追加して、追加したシートの名前を変更しています。
追加されたシートの並び方と、名前を変更されているのが3枚目に追加されたシートだけである点を確認してください。
●サンプル2●
Sub AddSamp2()

    Worksheets.Add(after:=Worksheets(1), _
        Count:=3).Name = "追加"    '---3枚のシートを追加し、名前変更

End Sub