• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBA ワークシートの保存)

Excel VBAでワークシートの保存方法とボタンの削除方法を教えてください

このQ&Aのポイント
  • ExcelのVBAを使用して、特定のワークシートを新しいワークブックに保存する方法と、保存時のダイアログで保存場所を指定する方法を教えてください。また、保存後にボタンを削除する方法もお願いします。
  • 具体的な要件は、B列からM列までの書式、行幅、書式をそのまま保存したいことです。また、保存ボタンを押すとD2セルに入力されている文字をファイル名として保存し、拡張子は.xlsとしたいです。
  • 作成したVBAマクロはエラーが発生しているので、修正方法も教えてください。

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

  • ベストアンサー
回答No.2

いやあ、大変失礼しました。 先の回答では、実際にはファイルはセーブされないようでした。 Application.Dialogs(xlDialogSaveAs).Show ARG1:=Range("D2").Value & ".xls" で、どうでしょうか?

eria888
質問者

お礼

TaketsuruOishi 様 たびたびのご回答ありがとうございます。 のぞみ通り、ダイアログが出て、ファイルはセーブ出来るようになりました。 しかし、今度は、D2に入力している文字がファイル名として出てきません (もちろん、ファイル名を入力すればよいだけなのですが・・・) また、自分が使っているのが、office2007なのですが、拡張子が(.xlsx)となってしまいます。 お忙しい中、申し訳ありませんが、どうぞよろしくお願いします。

その他の回答 (3)

回答No.4

すみません。私の環境は、EXCEL2003なので、2007の話はよくわかりません。 まあ、知らないのに口出すなってことかも知れませんが。 で、調べたら、EXCEL2007から、標準ファイルフォーマットが変更になったそうで、詳しい事は、参考URLを見て、やってみてください。  Workbooks(1).SaveAs FileName:=Range("D2").Value, FileFormat:=xlExcel8 多分、こんな感じで、いけるんじゃないかな? これ以上は、詳しい人の回答を待ちましょう。

参考URL:
http://blog.livedoor.jp/akf0/archives/51114639.html
回答No.3

Sub test() With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then ActiveWorkbook.SaveAs .SelectedItems(1) & "\" & Range("D2").Value & ".xls " End If End With End Sub これで保存できませんか?

回答No.1

>Application.Dialogs(ActiveWorkbook.SaveAs).Show Arg1:=Range("D2").Value を Application.GetSaveAsFilename (Range("D2").Value) で、どうですか?

eria888
質問者

お礼

さっそくのご回答ありがとうございます。 ただ、実行しても、ファイルの種類がすべてのファイルになってしまい、一度保存ボタンを押して、その後再度.xlsで保存しなおすという形で保存しなおさなければなりません。 マクロを実行したら、最初から(.xls)ファイルで保存出来るような形で出来ないでしょうか?

関連するQ&A