エクセルVBAでシートを追加挿入するにはAddメソッドを使用します。
VBAではシートの追加はよく使います。挿入場所、挿入枚数、名前の付け方など覚えておくと便利です。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、エクセルでワークシートの枚数を増やしたい場合にどのようにすればよいかを説明します。
VBAコード的には、1・2行のコードですので簡単に覚えられると思います。
また同時に、挿入位置の指定方法やシート名付けの記述方法も覚えておきましょう。
- シートの知識
- シートの存在を確認する2種類のコードと実務での例題
- シートクリアーを目的のメソッド別にVBA最速理解
- シートのコピーを最速に理解!VBAコードで異なる結果
- Excelシートを追加・挿入するAddメソッドの使い方
- シートの選択・指定方法とその意味。簡単でも軽視してはダメ
- エクセルシートの名付け・変更と取得そして一覧化するコード
- ワークシートのブック内移動と新規ブックへの移転を分かりやすく
- エクセルシートの並び順が思い通り!シート名一覧で自由自在
- Excelシートを保護する。 記述方法とプロテクトされない操作
- エクセルシートを削除する。Deleteの使い方と注意ポイント
- エクセルシートの非表示コードをパスワード管理するVBA
- ワークシートを変数化する3つの手法 オブジェクト変数など
コンテンツ
シートの追加・挿入にはAddメソッドを使う
エクセルの初期設定はシート1枚だけが表示されるようになっています。
エクセルの作業で明らかにシート数が単に不足している場合は、まず初期設定を変更することをおすすめします。
初期設定のシート数を変更する!ワークシートの増やし方ここでのVBAによるシート追加は、「〇〇用のシートを追加挿入する」という目的ありきの場合を前提にしています。
その都度シートを単に追加したのであればショートカット「Alt」+「I」+「W」を使うと即OKです。
シートの追加を「マクロの記録」でコード化
分かりやすいように、マクロの記録を使ってVBAコードを記述してみます。
「Sheet1」を表示した状態でシート選択タブの右にある「+」ボタンをクリックしました。
「Sheet1」の右隣に「Sheet4」が追加されました。
Sub Macro9()
'
' Macro9 Macro
'
'
Sheets.Add After:=ActiveSheet
End Sub
シートの追加挿入で記述する必要最低限のVBAコードは、1行だけの数文字ということです。
- 「Sheets」はこのままでも「Worksheets」と表示してもOKです。
- 「Add」は追加挿入のためのメソッド(指令のようなもの)になります。
- 「After:=ActiveSheet」は、「Sheet1」を表示状態で追加挿入の操作をしたので、「ActiveSheet」=「Sheet1」としてその後にシートが挿入されました。
Addメソッドの構文
Addメソッドの記述方法を整理しておきます。
Worksheets.Add ( Before, After, Count, Type )
引数・・Before, After, Count, Type・・の解説
Before・・・指定したシートの前
After・・・・指定したシートの後
<BeforeとAfterともに省略した場合はActiveSheetの直前に挿入されます。>
Count・・・追加するシートの枚数を指定することが出来ます。
<省略した場合は1枚を追加します。>
Type・・・・殆ど使用しないので、無視してもOKです。
Addメソッドを使って実際にVBA記述してみる
一番ありそうなサンプルとして、
エクセルで作成されたテンプレート1枚だけのエクセルファイルで、
このテンプレートを新しいシートに丸々コピペするために、VBAを使ってシートを増やしたい場合の想定です。
Sub シート追加1()
Worksheets.Add after:=Worksheets("テンプレート")
End Sub
Sub シート追加2()
Worksheets.Add after:=Worksheets("テンプレート"), Count:=3
End Sub
Sub シート追加3()
Worksheets.Add(before:=Worksheets("Sheet2")).Name = "東京"
End Sub
このVBAコードでもシート名を変更することが出来ます。
Sub シート追加3()
Worksheets.Add before:=Worksheets("Sheet2")
ActiveSheet.Name = "東京"
End Sub
名前を付けるのはNameプロパティを使用します。
シートを追加したその時は、追加されたそのシートがActiveSheetになっていますので、直ちにNameプロパティで名前を付けることが出来ます。
次の操作でフォーカスが失われたらこの操作は出来ません。
シートの追加挿入のまとめ
シートの追加や挿入は、エクセルVBAでプログラムを作成して行く上では非常に頻繁に出てきます。
難易度は高くありませんので、シートの操作の一つとしてサクッとこなしていきましょう。
密接に関連した項目として(シートの)名前付けがありますので合わせて知っておくと良いでしょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。