← コード一覧へ戻る
実務ブック

ブックに名前を付けて保存する

マクロを残すxlsm形式で別名保存します。

実行前に確認

  • 保存後は新しい名前のブックが作業対象になります。既存ファイルの上書き確認を必ず読みます。

1サンプルコード

Sub Sample3005()
    Dim p As Variant
    p = Application.GetSaveAsFilename("練習_コピー.xlsm", "Excel Macro-Enabled (*.xlsm),*.xlsm")
    If VarType(p) = vbBoolean Then Exit Sub
    If LCase$(Right$(CStr(p), 5)) <> ".xlsm" Then
        MsgBox "拡張子を.xlsmにしてください。": Exit Sub
    End If
    If MsgBox("選択した名前で保存しますか?同名ファイルは上書き確認が出ます。", vbYesNo + vbQuestion) <> vbYes Then Exit Sub
    ThisWorkbook.SaveAs Filename:=CStr(p), FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

図で見るファイルの変化

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 保存前

    コードを保存したマクロブックを使用中

  2. 手動:保存先を指定

    初期候補「練習_コピー.xlsm」から名前と場所を選び、確認で「はい」

  3. マクロ:別名保存

    xlsm形式で保存し、新しい名前のブックが作業対象になる

キャンセル・拡張子が.xlsm以外・「いいえ」なら終了。同名ファイルの上書き確認を必ず読んでください。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3005内にカーソルを置いてF5で実行します。マクロを残すxlsm形式で別名保存します。

使っている機能の公式ドキュメント(Microsoft Learn)