- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA で困っています。)
Excel VBAでエラーが発生する場合の対処方法
このQ&Aのポイント
- Excel VBAで「名前を付けて保存」→「キャンセル」を選択した場合のエラーは回避できるが、「名前を付けて保存」→「保存」→「同じ名前のファイルが既にありますが置き換えますか?」→「いいえ(またはキャンセル)」の時にエラーが発生する。
- エラーが発生する場合には、VBAコードを修正する必要がある。
- エラーの内容は、ファイルの上書きをキャンセルした場合に発生する。修正の方法として、ファイルが存在するかどうかを事前にチェックし、存在する場合には上書きの確認ダイアログを表示しないようにすることができる。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いいえ(キャンセル)と選択したが ワークブックの保存処理を実行し失敗しているようですね。 On Error Resume Next 'ブックの保存 ActiveWorkbook.SaveAs Filename:=myBook 上記のように変更し、エラーを無視すればエラーを回避できます。
その他の回答 (1)
- end-u
- ベストアンサー率79% (496/625)
回答No.1
On Error ステートメント で制御したり、 Dim myBook As Variant Dim ret As Long Do myBook = Application.GetSaveAsFilename("test.xls", _ "Excelファイル,*.xls", , "Excelブックを保存") If VarType(myBook) = vbBoolean Then Exit Sub If Len(Dir(myBook)) = 0 Then Exit Do Else ret = MsgBox("既存ファイルあります。置き換えますか?", vbYesNoCancel) Select Case ret Case vbYes: Exit Do Case vbNo: Case vbCancel: Exit Sub End Select End If Loop こんな感じで自前で制御したり、あるいは Application.Dialogs(xlDialogSaveAs).Show "test.xls" など、Application任せにしたりとかでしょうか。
質問者
お礼
早速のご回答ありがとうございました。 勉強になります。
お礼
早速のご回答ありがとうございました。 できました!