
マクロを実行した時にエラーが出て実行が出来ません、解決方法を教えてください。
マクロ
Sub 電子提出()
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Worksheets(Array("提出図書(参考)")).Delete
Worksheets(Array("消防の指摘一覧(参考資料)")).Delete
Worksheets(Array("Web申請手順(参考)")).Delete
Worksheets(Array("申請種別")).Delete
Worksheets("提出シート").Activate
Dim rng As Range
Set rng = Selection.Cells
Range("B1", "H47").Select
myBook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
rng.Select
Sheets("提出シート").Range("D3,D4,D7").ClearContents
Range("D7").Select
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, Arg2:=xlOpenXMLWorkbookMacroEnabled
Application.Quit
With ThisWorkbook
.Saved = True
Application.DisplayAlerts = True
.Close False
End With
Sheets("提出シート").Shapes("新築FD").Visible = False '
Sheets("提出シート").Shapes("計変FD").Visible = False '
Sheets("提出シート").Shapes("増築FD").Visible = False '
Sheets("提出シート").Shapes("担当者").Visible = False '
Range("D7").Select
End Sub
があります。
マクロを実行すると、作業フォルダ内に指定セル値をファイル名としてマクロ有効ブック方式と一般のExcel方式の2つのファイルで保存出来るようになっております。
しかし、
「ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, Arg2:=xlOpenXMLWorkbookMacroEnabled」の「Arg2」の部分が変色しマクロが実行できません。
解決方法を教えてください。
よろしくお願いいたします。

No.2ベストアンサー
- 回答日時:
こんにちは
ActiveWorkbook.SaveAsメソッドのFileFormat:=パラメータと
Application.Dialogs(xlDialogSaveAs)で使用するダイアログに対する引数
Arg2:= は違います
FileFormatをマクロ有効ブックにしたいのだと思いますので
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
で良いかと
xlOpenXMLWorkbookMacroEnabled は値 52にしても機能します
前にも同じような回答をいたしましたが
ActiveWorkbook.SaveAsメソッド
https://learn.microsoft.com/ja-jp/office/vba/api …
XlFileFormat 列挙体 (Excel)
https://learn.microsoft.com/ja-jp/office/vba/api …
【Excel VBA】xlDialogSaveAsのArg引数の使い方
https://watapipi.com/saveas_arg/
No.1
- 回答日時:
エラーが発生している原因は、 Arg2:=xlOpenXMLWorkbookMacroEnabledの部分にあると思われます。
これは、保存するファイルの形式を指定するための引数であり、Excel 2007以降で使用可能なマクロ有効なExcelブックの形式を表す定数です。ただし、これを正常に使用するには、定数のプレフィックス xl を使用する必要があります。つまり、xlOpenXMLWorkbookMacroEnabledの代わりに、xlOpenXMLWorkbookMacroEnabledWorkbookを使用する必要があります。
以下は修正されたコードです。
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabledWorkbook
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Libre office マクロ
-
マクロを組んで作業するのは実...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
マクロを使って結合セルに丸を...
-
IF関数を使ってマクロを実行さ...
-
エクセルで縦に並んだデータを...
-
最小化したoutlook元に戻すマクロ
-
エクセルのマクロでワードの任...
-
ExcelのVBA。public変数の値が...
-
EXCELのVBAマクロでパソコンを...
-
非表示の列をすべて削除するマクロ
-
既存のマクロをコンボボックス...
-
VBSからのエクセル操作での初期...
-
ASP.NETからEXCEL起動
-
エクセルでA1セルに時刻をリア...
-
エクセルVBAでエラー、Changeの...
-
Wordのマクロでクリップボード...
-
VB初心者です。メールから添付...
-
Sub ***( ) と Private Sub ***...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報