サイトについて      連絡先   検索

VBA シートを追加する

はじめに

Excel VBA のシートを追加する方法を紹介します。

Sheets.Add メソッドか Worksheets.Add メソッドでシートを追加できます。

シートを追加する

シートを追加するには Sheets.Add または Worksheets.Add のように指定します。

Dim ws As Worksheet
Set ws = Sheets.Add     ' ワークシートを追加
Set ws = Worksheets.Add ' ワークシートを追加
Debug.Print(ws.Name)
1

追加したシートはアクティブなシートの位置に追加され、アクティブな状態になります。

Add の引数には追加する位置や追加する数を指定できます。

Call Sheets.Add(Before:=Sheets(2)) ' 指定したシートの前に追加
Call Sheets.Add(After:=Sheets(2))  ' 指定したシートの後に追加
Call Sheets.Add(Count:=2)          ' 指定した数のシートを追加
Call Sheets.Add(Type:=xlWorksheet) ' シートのタイプを指定して追加

Type には次のものがあります。

定数名 説明
xlWorksheet (既定)-4167ワークシート
xlChart-4109グラフシート
xlDialogSheet-4116Excel5ダイアログシート
xlExcel4IntlMacroSheet4Excel4インターナショナルマクロシート
xlExcel4MacroSheet3Excel4マクロシート

Sheets と Worksheets の違いはワークシート以外を取得するかどうかです。

このため xlChart と xlDialogSheet を Worksheets.Add で指定できません。

追加したシートを編集する

Add の戻り値から追加した Worksheet を取得できます。追加したシートを編集したいときはそれに対して操作します。

Dim ws As Worksheet
Set ws = Sheets.Add ' 戻り値に追加したシートが入っている

' そのシートに対して編集
ws.Name = "追加"
2

関連ページ