ワークシートを追加する
2016/10/30
Worksheets.Add
Worksheets.Addを使用します・
いくつかオプションが用意されてますが、オプションの指定がなくても利用可能ですので、例示とともに使用方法を見ていきます。
(使用例)単純なシート追加
シートを追加する一番単純な方法です。
Worksheets.Add
を記述すれば、アクティブシートの左にシートが追加されます。
シート名は自動的に割り振られます。
追加されたシートはアクティブになっています。
1 2 3 4 |
Sub シート追加() 'シート追加 Worksheets.Add End Sub |
(使用例)単純なシート追加(その2)
上記を少しプログラムっぽく記述する方式です。
上記同様、アクティブシートの左にシートが追加され、シート名は自動的に割り振られます
1 2 3 4 5 |
Sub シート追加() 'シート追加 Dim Add_Sheet As Worksheet Set Add_Sheet = Worksheets.Add() End Sub |
(使用例)シート追加し、シート名を指定する
上記に加え、シート名を指定する方法です。
まずシートを追加して、その後にシート名を変更します。
「新しいシート」という名前のシートがアクティブシートの左に追加されます
1 2 3 4 5 6 7 |
Sub シート追加() 'シート追加 Dim Add_Sheet As Worksheet Set Add_Sheet = Worksheets.Add() 'シート名変更 Add_Sheet.Name = "新しいシート" End Sub |
(使用例)新しいシートを一番右に挿入
Addメソッドは追加されるシートの位置を指定することが可能です。
1 2 3 4 5 |
Sub シート追加() 'シート追加 Dim Add_Sheet As Worksheet Set Add_Sheet = Worksheets.Add(after:=Worksheets(Worksheets.Count)) End Sub |
(使用例)新しいワークシートをシートの一番右に3シート挿入する方法
Addメソッドは追加されるシートの数も指定することが可能です。
1 2 3 4 |
Sub シート追加() 'シート追加 Worksheets.Add after:=Worksheets(Worksheets.Count), Count=3 End Sub |
(使用例)簡単な使用例
「Sheet1」の列1の値を追加したシートにコピーするという例示です
1 2 3 4 5 6 7 8 9 |
Sub シート追加() 'シート追加 Dim Add_Sheet As Worksheet Set Add_Sheet = Worksheets.Add() 'Sheet1の列1を上から順に読み込み、未入力となるまで列1をSheet1から新規追加したシートにコピーする Do While Worksheets("Sheet1").Cells(i + 1, 1).Value <> "" Add_Sheet.Cells(i, 1).Value = Worksheets("Sheet1").Value i = i + 1 Loop'シート追加 |
(使用例)追加したシートを一番左側に配置する
複数あるワークシートの一番左側にシートを追加する例示です
ワークシート名に数字を指定すると、左側から数えたシートとなるため、一番左のシートである「1」を指定
その前にシートを作成するというやり方です
1 2 3 |
Sub シート追加() Worksheets.Add Before:=Worksheets(1) End Sub |
まとめ
Worksheets.Addには3つのオプションがあります
before 指定したワークシートの左側に新しいシートを追加します
after 指定したワークシートの右側に新しいシートを追加します
Count 挿入するシートの枚数を指定します(省略時は1シート追加)