マクロでシートを指定枚数コピー(後半)
マクロ講座48-2回
マクロ講座 48回の後半
枚数を指定してシートをコピーするマクロ
Excelの作業では、よく使う表のひな形のシートを作って、必要枚数コピーするというような作業は日常よくあります。
そのような時に、マクロを使って一発で必要枚数をコピーできたら便利です。
今回は、必要枚数を指定してシートをコピーするマクロを作成します。
(サンプルファイルは、こちらから 2013マクロ講座26回サンプルデータ)
コピーを必要枚数分繰り返す
For~Nextステートメントで、 決められた回数の繰り返しを行うことができます。
For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
For~Next が実行されると、カウンタの値が開始値から1ずつカウントアップされ、終了値に達すると繰り返しが終了します。
カウンタ変数は今回は習慣的にiとします。
終了値も変数にして、ユーザーがInputBoxに入力した値にします。終了値はcntとしました。
カウンタ変数は今回は習慣的に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枚のコピーがテンプレートの後ろに作成されました。
今回は、シートの名前を単に変数の"i"にしましたが、原本のシートを複数コピーして任意の名前をつけることもできます。
ActiveSheet.Name = i & "月"のようにです。57回を参照してください。 マクロ講座57回
今回は、シートの名前を単に変数の"i"にしましたが、原本のシートを複数コピーして任意の名前をつけることもできます。
ActiveSheet.Name = i & "月"のようにです。57回を参照してください。 マクロ講座57回