【VBA】テンプレートからシートをコピーして新しいシートを作成する方法

VBA

Excel VBAを使うことで、テンプレートシートから新しいシートを簡単に作成することができます。今回は、テンプレートシートを基にして、新しいシートを先頭や末尾に作成する方法をご紹介します。

コードの解説

以下のVBAコードは、テンプレートシートから新しいシートを作成し、先頭または末尾に配置する方法を示しています。

1. 先頭にテンプレートからシートをコピーする

まず、テンプレートシートを先頭にコピーする方法です。

'先頭にテンプレからコピーしたシート作成
Worksheets("Template").Copy Before := Worksheets(1)

2. 末尾にテンプレートからシートをコピーする

次に、テンプレートシートを末尾にコピーする方法です。

'末尾にテンプレからコピーしたシート作成
Worksheets("Template").Copy After := Worksheets(Worksheets.Count)

コードの詳細解説

  1. 先頭にシートをコピーする:
   Worksheets("Template").Copy Before := Worksheets(1)
  • Worksheets("Template") は、テンプレートとして使用するシートを指定します。
  • .Copy Before := Worksheets(1) は、新しいシートを現在のワークブックの先頭にコピーします。Worksheets(1) は、ワークブック内の最初のシートを指します。
  1. 末尾にシートをコピーする:
   Worksheets("Template").Copy After := Worksheets(Worksheets.Count)
  • Worksheets("Template") は、テンプレートとして使用するシートを指定します。
  • .Copy After := Worksheets(Worksheets.Count) は、新しいシートを現在のワークブックの末尾にコピーします。Worksheets.Count は、ワークブック内のシートの総数を指し、その後ろに新しいシートを追加します。

使用例

これらのコードを組み合わせることで、必要に応じて新しいシートを先頭または末尾に作成できます。例えば、定期的な報告書作成やテンプレートを基にしたデータ入力シートの生成に便利です。

実践的な例

例えば、月次報告書のテンプレートシートから新しいシートを作成する場合、以下のようにコーディングします。

Sub CreateReportSheets()
    ' 先頭に新しい報告書シートを作成
    Worksheets("MonthlyReportTemplate").Copy Before := Worksheets(1)

    ' 末尾に新しい報告書シートを作成
    Worksheets("MonthlyReportTemplate").Copy After := Worksheets(Worksheets.Count)
End Sub

このサブルーチンを実行することで、テンプレートシートから新しいシートが先頭と末尾にそれぞれ追加されます。

まとめ

VBAを使ってテンプレートシートから新しいシートを作成する方法を紹介しました。これにより、定型業務の効率化やデータ入力シートの迅速な生成が可能になります。ぜひ、日々の業務に役立ててください。


手動でシートをコピーするのって案外めんどくさいよねー

ではまたー

コメント

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