ここでは、Excel-VBA において、既存ブックの複数シートを新規ブックにコピーするサンプルスクリプトを掲載しています。
スポンサーリンク
新規ブックに既存ブックのシートをコピーする
サンプルスクリプトは次の通りです。詳細はサンプル内のコメントを参照ください。
' 余計な確認ダイアログの出力を抑制 Application.DisplayAlerts = False ' 画面の更新処理を停止 Application.ScreenUpdating = False '新規ブックのファイルパスを設定 Dim filePath As String filePath = "E:\パス\名前.xlsx" ' 新規ブックを作成する With Workbooks.Add ' 既存ブックから新規ブックへコピーするシートを配列で指定 ' なお、新規ブックの先頭シートの前にコピーしている ThisWorkbook.Sheets(Array("シート名1", "シート名2")).Copy Before:=.Sheets(1) ' 新規作成したブックを保存する ' 拡張子が.xlsxの場合はxlOpenXMLWorkbook .SaveAs FileName:=filePath, FileFormat:=Excel.XlFileFormat.xlOpenXMLWorkbook ' 拡張子が.xlsの場合は、FileFormatに ' Excel.XlFileFormat.xlWorkbookNormal を指定する ' 新規作成したファイルを閉じる .Close End With Application.DisplayAlerts = True Application.ScreenUpdating = True