選択SheetでBook作成

  選択した複数のシートのみで、新しいブックを作成する方法を紹介します。
  VBAの記述が標準モジュールだけならシートを新規ブックにコピーさせるだけでVBAを 除くブックを作成することができます。


  ■選択シートで新しいブックを作成する方法
  次の例は、選択したシート("Sheet1"〜"Sheet5")を新しいブック[NewBook.xlsx]で書出します。
 なお、作成される場所は、書出し元ブックのと同じディレクトリ内です。

 Sub NewBook_save()
 Dim tblSheet As Variant
 Dim WBK元 As Workbook                ' 選択元のブック
 Dim WBK先 As Workbook                ' 書出し先のブック

      On Error Resume Next
      ChDir Path:=ThisWorkbook.Path

' 新規ブックに書出すシートの配列を作成
      tblSheet = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")
      Set WBK元 = ThisWorkbook
      WBK元.Worksheets(tblSheet).Copy
      Set WBK先 = ActiveWorkbook               ' コピーした新規ブック
      WBK先.SaveAs Filename:="NewBook.xlsx"

' 保存先ディレクトリに同じファイル名があった場合の保存確認メッセージへの対応
      If Err.Number > 0 Then
           MsgBox "[いいえ(N)]か[キャンセル]ボタンが押されました。"
           Application.DisplayAlerts = False       'メッセージを出さない
           ActiveWorkbook.Close
           Application.DisplayAlerts = True
           Exit Sub
      End If

      WBK先.Close False
      Set WBK先 = Nothing
      MsgBox "NewBook.xlsxの作成に成功しました!"
 End Sub


↑頁トップへ