SaveSheetAsBook|指定シートを別ブックとして保存(シート保存) | Excel VBA
- yuji fukami
- 2024年3月9日
- 読了時間: 2分
更新日:1月4日

<概要 (シート 別ブック VBA)>
SaveSheetAsBookは、指定したワークシートを単独のExcelブックとして保存するための汎用プロシージャです(シート 別ブック VBA)。
帳票提出用・配布用・バックアップ用など、「このシートだけを渡したい」という実務シーンで頻繁に発生する処理を、安全かつ柔軟に自動化できます。
保存時には、
・保存ファイル名/保存先フォルダの指定
・コマンドボタンの自動削除
・数式を値に変換
・保存後にブックを閉じるかどうか
といった細かい挙動を引数で制御できます。
また、保存したブックをWorkbookオブジェクトとして返すことも可能なため、
後続処理(PDF出力・メール添付など)と組み合わせやすい点も特徴です。
<用途>
シート単体を別ブックとして保存する
<プロシージャ紹介>
Public Function SaveSheetAsBook(Sheet As Worksheet, [SaveName As String], [SavePath As String], [DeleteButton As Boolean = True], [Message As Boolean = False], [ConvFormulaValue As Boolean = False], [CloseBook As Boolean = True]) As Workbook
名前: SaveSheetAsBook /Functionプロシージャ
説明: 指定のシートを別ブックで保存する
引数
Sheet ・・・対象のシート
[SaveName] ・・・保存ブック名(省略なら対象シートの名前)
[SavePath] ・・・保存先フォルダパス(省略なら対象シートのブックのフォルダパス)
[DeleteButton] ・・・コマンドボタンを消去するか(省略なら消去)
[Message] ・・・メッセージを表示するか(省略なら表示しない)
[ConvFormulaValue]・・・数式を値に変換するかどうか(省略なら変換しない)
[CloseBook] ・・・保存したブックを閉じるかどうか(省略なら閉じる)
<実行例>
次のようなコードを用意します。
なおOneDriveの影響も考慮してConvOneDrivePath_LocalPathプロシージャを利用しています。
実行するとSheet2オブジェクトが「シート保存テスト.xlsx」で出力されます。



