マクロ講座 48回の後半

枚数を指定してシートをコピーするマクロ

Excelの作業では、よく使う表のひな形のシートを作って、必要枚数コピーするというような作業は日常よくあります。
そのような時に、マクロを使って一発で必要枚数をコピーできたら便利です。
今回は、必要枚数を指定してシートをコピーするマクロを作成します。
(サンプルファイルは、こちらから 2013マクロ講座26回サンプルデータ

コピーを必要枚数分繰り返す

For~Nextステートメントで、 決められた回数の繰り返しを行うことができます。
For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
For~Next が実行されると、カウンタの値が開始値から1ずつカウントアップされ、終了値に達すると繰り返しが終了します。
カウンタ変数は今回は習慣的にiとします。
終了値も変数にして、ユーザーがInputBoxに入力した値にします。終了値はcntとしました。
コードにまとめると、以下のようになります。
Sub 枚数指定コピー()
    Dim i As Integer
    Dim cnt As Integer
    
    cnt = Application.InputBox(Prompt:="枚数を入力", _
    Title:="枚数指定", Type:=1)
    For i = 1 To cnt
        Worksheets("テンプレート").Copy After:=Worksheets(i)
        ActiveSheet.Name = i
    Next i
End Sub

マクロを実行すると、ダイアログボックスが表示される

マクロを実行すると、ダイアログボックスが表示されるので、入力欄にコピーしたい数値を入力します。
指定した3枚のコピーがテンプレートの後ろに作成されました。
スポンサーリンク
スポンサーリンク