• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA で困っています。)

Excel VBAでエラーが発生する場合の対処方法

このQ&Aのポイント
  • Excel VBAで「名前を付けて保存」→「キャンセル」を選択した場合のエラーは回避できるが、「名前を付けて保存」→「保存」→「同じ名前のファイルが既にありますが置き換えますか?」→「いいえ(またはキャンセル)」の時にエラーが発生する。
  • エラーが発生する場合には、VBAコードを修正する必要がある。
  • エラーの内容は、ファイルの上書きをキャンセルした場合に発生する。修正の方法として、ファイルが存在するかどうかを事前にチェックし、存在する場合には上書きの確認ダイアログを表示しないようにすることができる。

質問者が選んだベストアンサー

  • ベストアンサー
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

いいえ(キャンセル)と選択したが ワークブックの保存処理を実行し失敗しているようですね。 On Error Resume Next 'ブックの保存 ActiveWorkbook.SaveAs Filename:=myBook 上記のように変更し、エラーを無視すればエラーを回避できます。

noname#127049
質問者

お礼

早速のご回答ありがとうございました。 できました!

その他の回答 (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任せにしたりとかでしょうか。

noname#127049
質問者

お礼

早速のご回答ありがとうございました。 勉強になります。

関連するQ&A