【VBA】テンプレート用のシートを複製して追加

業務でよく使う定型のフォーマットや、表のデザインを崩さずに新しいシートを増やしたい場合、既存のシートを複製して追加する方法が便利です。今回は、VBAで簡単にテンプレート用シートを複製する方法を紹介します。


1. 基本の書き方

シートをコピーして追加する場合は、Copyメソッドを使用します。

Sheets("テンプレート").Copy After:=Sheets(Sheets.Count)

このコードは、**「テンプレート」という名前のシートを最後にコピーして追加する」**例です。


2. コードの具体例

① 最後にコピーして追加する

Sub テンプレートを複製する()
Sheets("テンプレート").Copy After:=Sheets(Sheets.Count)
End Sub

このコードを実行すると、「テンプレート」という名前のシートがコピーされ、一番最後に追加されます。


② 複製したシートの名前をすぐ変更する

コピーしただけでは「テンプレート (2)」「テンプレート (3)」のように自動で名前がつきます。自分で名前を付けたい場合は、コピーしたシートをActiveSheetで取得して名前を付けます。

Sub テンプレート複製_名前変更()
Sheets("テンプレート").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "新規シート"
End Sub

3. ポイント・注意点

  • コピーした直後のシートはActiveSheetになる
    → 名前を変更する場合はActiveSheet.Nameを使うと簡単。
  • テンプレートシートは編集禁止にしておくと便利
    → テンプレートは常に元の形を保つようにし、編集は複製したシートで行うと管理が楽になります。
  • コピー先の位置
    • After:=Sheets(番号) → 指定したシートの後ろ
    • Before:=Sheets(番号) → 指定したシートの

4. まとめ

操作コード例
最後にコピー追加Sheets("テンプレート").Copy After:=Sheets(Sheets.Count)
名前を付けるActiveSheet.Name = "新しい名前"

テンプレート用のシートを活用することで、同じ形式のデータを効率よく作成できます。
VBAで自動化すれば作業ミスも減り、作業効率が向上します。

コメント

タイトルとURLをコピーしました