- ベストアンサー
EXCELのVBAでの保存方法
- EXCELのVBAを使用してファイルを保存する方法について説明します。
- 保存時に表示されるエラーメッセージを回避し、特定のセルにカーソルを移動させる方法についても解説します。
- VBAを利用することで、効率的にEXCELファイルを保存することができます。
- みんなの回答 (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
その他の回答 (3)
- sakenomo
- ベストアンサー率52% (35/67)
失礼しました、 >「ファイルを置き換えますか」のメッセージの後に でしたね。ご質問をよく読んでいませんでした、すみません。 ちなみに、エラー番号は1004でした。
- sakenomo
- ベストアンサー率52% (35/67)
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
補足
ご回答ありがとうございました。 試してみましたところ、 「いいえ」と「キャンセル」を選択すると 「400」のエラーが表示されました。 やはり無理でしょうか?
こちらでテストしてみましたが 400 ではなく 1004 なら出ました。 まぁ、エラーメッセージの種類はいいとして。 ちょっと現象が違うらしいので、よくわかりませんが On Error を入れて、エラーが出たときの対処をしてみたらどうでしょう?
お礼
ありがとうございました。 エラーも表示されず、希望どおりのものが できました★