選択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

                         ↑頁トップへ
ピックアップ