ワークシートの追加(Add メソッド)

ワークシートを追加するには Worksheets コレクションの Add メソッドを使用します。ワークシートを挿入する位置は Before または After のどちらかの引数で指定することができます。引数 Before および After を両方省略すると一番左端にシートが追加されます。

スポンサーリンク

Add メソッドの使用方法

構文
Worksheets.Add( [Before] [, After] [, Count] [, Type] )
引数名 省略 定数/データ型 説明
Before Variant型(シートオブジェクト) 指定したシートオブジェクトの直前に、新しいシートを追加します。
After Variant型(シートオブジェクト) 指定したシートオブジェクトの直後に、新しいシートを追加します。
Count Variant型 追加するシートの数を指定します。 既定値は 1 です。
Type xlChart グラフシート
xlDialogSheet ダイアログシート
xlExcel4IntlMacroSheet Excel バージョン 4International Macro シート
xlExcel4MacroSheet Excel バージョン 4マクロ シート
xlWorksheet ワークシート(既定値)

引数をすべて省略するとアクティブシートの前に新たなシートが1枚追加されます。

ワークブックの指定を省略すると処理時点でアクティブになっている(最前面に表示されている)ブックが処理の対象となります。もし、処理の対象を実行したマクロが組み込まれているブックに限定したい場合はシートのまえに”ThisWorkbook”をつけてください。

(例)ThisWorkbook.Worksheets.Add

 ワークシートの削除

Add メソッドの使用例

ワークシートを複数枚追加

アクティブワークブックへワークシートを追加する例です。引数 After, Count を指定して左から2番目にワークシートを2枚追加しています。

Sub sample_eb073_01()
    '左から2番目にシートを2枚追加
    Worksheets.Add After:=Worksheets(1), Count:=2
End Sub
アクティブワークブック内のシート
アクティブワークブック内のシート
sample_eb073_01実行後
sample_eb073_01実行後

ワークシートを追加と同時にシート名変更

一番右端へワークシートを追加し、シート名やフォントなどのプロパティを変更する例です。

Sub sample_eb073_02()
    Dim mySheet     As Worksheet

    'シートを追加し、その追加したシートの参照を変数へ設定
    Set mySheet = _
        Worksheets.Add(After:=Worksheets(Worksheets.Count))

    With mySheet
        .Name = "DDD"   '追加したシートの名前を変更

        'セルのフォント名とフォントサイズを変更
        With .Cells.Font
            .Name = "MS ゴシック"
            .Size = 9
        End With

        .Range("A1").Value = "テスト"
    End With
End Sub

 Setステートメント セル書式(フォント) Withステートメント

アクティブワークブック内のシート
アクティブワークブック内のシート
sample_eb073_02実行後のシート
sample_eb073_02実行後のシート

セルのフォント名、フォントサイズも変更されてます。

sample_eb073_02実行後のセル書式
sample_eb073_02実行後のセル書式

参考

sample_eb073_02 では追加したシートの参照を変数 mySheet へ一旦保存しましたが、この変数を使用せず以下のように記述することができます。できるだけ変数の数を少なくしたい場合はこの方法で記述するとよいでしょう。

Sub sample_eb073_03()
    'シートの追加とプロパティの変更
    With Worksheets.Add(After:=Worksheets(Worksheets.Count))
        .Name = "DDD"   '追加したシートの名前を変更

        'セルのフォント名とフォントサイズを変更
        With .Cells.Font
            .Name = "MS ゴシック"
            .Size = 9
        End With

        .Range("A1").Value = "テスト"
    End With
End Sub

 セル書式(フォント) Withステートメント

タイトルとURLをコピーしました