ワークシートを追加するには Worksheets コレクションの Add メソッドを使用します。ワークシートを挿入する位置は Before または After のどちらかの引数で指定することができます。引数 Before および After を両方省略すると一番左端にシートが追加されます。
Add メソッドの使用方法
引数名 | 省略 | 定数/データ型 | 説明 |
---|---|---|---|
Before | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直前に、新しいシートを追加します。 |
After | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直後に、新しいシートを追加します。 |
Count | ○ | Variant型 | 追加するシートの数を指定します。 既定値は 1 です。 |
Type | ○ | xlChart | グラフシート |
xlDialogSheet | ダイアログシート | ||
xlExcel4IntlMacroSheet | Excel バージョン 4International Macro シート | ||
xlExcel4MacroSheet | Excel バージョン 4マクロ シート | ||
xlWorksheet | ワークシート(既定値) |
ワークブックの指定を省略すると処理時点でアクティブになっている(最前面に表示されている)ブックが処理の対象となります。もし、処理の対象を実行したマクロが組み込まれているブックに限定したい場合はシートのまえに”ThisWorkbook”をつけてください。
(例)ThisWorkbook.Worksheets.Add
Add メソッドの使用例
ワークシートを複数枚追加
アクティブワークブックへワークシートを追加する例です。引数 After, Count を指定して左から2番目にワークシートを2枚追加しています。
Sub sample_eb073_01()
'左から2番目にシートを2枚追加
Worksheets.Add After:=Worksheets(1), Count:=2
End Sub
ワークシートを追加と同時にシート名変更
一番右端へワークシートを追加し、シート名やフォントなどのプロパティを変更する例です。
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 では追加したシートの参照を変数 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