ここでは、ワークシートを追加する Excel-VBA のサンプルスクリプトを掲載しています。シートの挿入位置を制御するサンプルとなっています。詳細はサンプル内のコメントも参照ください。
スポンサーリンク
アクティブシートの前にシートを追加
' アクティブシートの前にシートを追加する Worksheets.Add ' 上記は以下のスクリプトと同義(アクティブなシートの前に挿入する) 'Worksheets.Add Before:=ActiveSheet
先頭にシートを追加
' 先頭にシートを追加 ' インデックス(1)のシートは現在の先頭のシートを表している Worksheets.Add before:=Worksheets(1)
最後尾にシートを追加
' 最後尾にシートを追加 ' 現在のシートのカウント(枚数)は最後尾のシートのインデックスに等しいことを利用している Worksheets.Add After:=Worksheets(Worksheets.Count)
新規に追加したシートのシート名を変更
Dim wSheet As Worksheet ' シート名が"Sheet1"の後方に追加したシートを示すオブジェクト受け取る Set wSheet = Worksheets.Add(After:=Worksheets("Sheet1")) ' シート名を変更 wSheet.Name = "新しいシート"
複数枚のシートを追加し、それぞれシート名を変更
Dim wSheet As Worksheet ' シート名が"Sheet1"の後方にシートを追加する Set wSheet = Worksheets.Add(After:=Worksheets("Sheet1"), Count:=2) ' 1枚名のシート名を変更 wSheet.Name = "新しいシートA" ' 次のシート(2枚目)のシートオブジェクトを取得 Set wSheet = wSheet.Next ' 追加した2枚目のシート名を変更 wSheet.Name = "新しいシートB"
参考
- MSDN – Worksheets.Add メソッド (Excel)