業務でよく使う定型のフォーマットや、表のデザインを崩さずに新しいシートを増やしたい場合、既存のシートを複製して追加する方法が便利です。今回は、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で自動化すれば作業ミスも減り、作業効率が向上します。
コメント