ここでは、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