ループ処理でコピーする
ひな形のシートをコピーして複数作成したい時は、Copyメソッドをループ処理で繰り返し実行します。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
'------------------------------- '変数定義 '------------------------------- '繰り返し用 Dim i As Long '作成するシートの数(10枚) Dim makeCount As Long makeCount = 10 '新しいエクセルファイルを管理する変数 Dim newExcelFile As Workbook '------------------------------- 'シートコピー処理 '------------------------------- '新しいエクセルファイルを作成 Set newExcelFile = Workbooks.Add For i = 1 To makeCount '新しいエクセルファイルの最後にシートをコピーする ThisWorkbook.Worksheets("見積ひな型").Copy _ After:=newExcelFile.Worksheets(newExcelFile.Worksheets.Count) 'シート名は連番をセット ActiveSheet.Name = i Next |
解説
VBAのエクセルファイルにある「見積ひな型」シートをコピーして、同じシートを10枚作っています。
プログラムの読み方
9行目:makeCount = 10
作成する枚数を設定しています。26行目:ActiveSheet.Name = i
シートはコピー直後にはアクティブになっています。なので、ActiveSheet.Nameを使ってシート名を設定できます。
今回はシート名にはiを設定しているので、1~10の連番が実際にはセットされます。
その他テクニックは、次の記事を参考にしてください。
【VBA】ワークシートのコピーとテクニック
Copyメソッド
ワークシートをコピーするには、WorksheetsのCopyメソッドを使います。
コピーしたシートは、新しいブックに作成されます。
コード
'「住所一覧」シートをコピーする
Worksheets("住...