• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELのVBAでの保存方法)

EXCELのVBAでの保存方法

このQ&Aのポイント
  • EXCELのVBAを使用してファイルを保存する方法について説明します。
  • 保存時に表示されるエラーメッセージを回避し、特定のセルにカーソルを移動させる方法についても解説します。
  • VBAを利用することで、効率的にEXCELファイルを保存することができます。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

こんにちは。 #1さん、#2さんを合せてエラー分岐させれば良いと思います。 Sub aa() fileA = Application.GetSaveAsFilename( _ InitialFileName:="C:\test.xls", _ fileFilter:="XLSファイル (*.xls), *.xls") On Error GoTo ERR: If fileA <> False Then ActiveWorkbook.SaveAs FileName:=fileA Exit Sub ERR:  Worksheets(1).Range("B5").Select End Sub 強引なやり方で、有無を言わせず上書きさせるのもありなら、、、 Application.DisplayAlerts = False If fileA <> False Then ActiveWorkbook.SaveAs FileName:=fileA Application.DisplayAlerts = True

miluke
質問者

お礼

ありがとうございました。 エラーも表示されず、希望どおりのものが できました★

その他の回答 (3)

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.3

失礼しました、 >「ファイルを置き換えますか」のメッセージの後に でしたね。ご質問をよく読んでいませんでした、すみません。 ちなみに、エラー番号は1004でした。

  • sakenomo
  • ベストアンサー率52% (35/67)
回答No.2

GetSaveAsFilenameは、入力が取り消されるとFalseが返されます。(ヘルプに書いてあります) ので、こんな感じでどうでしょうか。 fileA = Application.GetSaveAsFilename( _ InitialFileName:="C:\test.xls", _ fileFilter:="XLSファイル (*.xls), *.xls") If fileA <> False Then  ActiveWorkbook.SaveAs Filename:=fileA Else  '特定のシートのセルA1にカーソルを移動 End If

miluke
質問者

補足

ご回答ありがとうございました。 試してみましたところ、 「いいえ」と「キャンセル」を選択すると 「400」のエラーが表示されました。  やはり無理でしょうか?

noname#11856
noname#11856
回答No.1

こちらでテストしてみましたが 400 ではなく 1004 なら出ました。 まぁ、エラーメッセージの種類はいいとして。 ちょっと現象が違うらしいので、よくわかりませんが On Error を入れて、エラーが出たときの対処をしてみたらどうでしょう?

関連するQ&A