ブックに名前を付けて保存する
マクロを残す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図で見るファイルの変化
イメージ図コードに沿った概念図です。実際の画面や実行結果ではありません。
保存前
コードを保存したマクロブックを使用中
手動:保存先を指定
初期候補「練習_コピー.xlsm」から名前と場所を選び、確認で「はい」
マクロ:別名保存
xlsm形式で保存し、新しい名前のブックが作業対象になる
キャンセル・拡張子が.xlsm以外・「いいえ」なら終了。同名ファイルの上書き確認を必ず読んでください。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
- 1
練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。
- 3
Sample3005内にカーソルを置いてF5で実行します。マクロを残すxlsm形式で別名保存します。