- ベストアンサー
Excel マクロについて
- Excelで作成したシートを特定のフォーマットで保存するマクロの作成方法について教えてください。
- 手順として、事前にフォーマットを用意し、ユーザーが入力できるようにします。その後、ユーザーがボタンを押すことで特定の行と列を削除し、名前を付けて保存のダイアログボックスが表示されるようにします。保存先のフォルダを指定し、ファイル名は日付と形式になるようにします。最後に、ユーザーが保存内容を確認して保存します。
- ただし、保存後のファイルの状態がCSV形式になってしまう問題があります。解決方法についても教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
保存ファイル名、保存先フォルダの指定ができているものとして記述します。 全体として (1)保存シートを新規ブックに保存 (2)新規ブックをcsvで保存 (3)新規ブックを閉じる とすれば、保存後は元のExcelシートが表示されると思います。 とりあえずのコードです。 -------------------------------- '画面設定 Application.ScreenUpdating = False Application.DisplayAlerts = False '保存ファイル名設定 fName = Application.GetSaveAsFilename If fName = False Then GoTo EOF End If '保存シート選択 Sheets("Book1").Select '保存シートを新規ブックにコピー Sheets("Book1").Copy '新規ブック保存 ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=xlCSV, CreateBackup:=False '新規ブッククローズ ActiveWorkbook.Close EOF: '画面設定 Application.ScreenUpdating = True Application.DisplayAlerts = True
その他の回答 (3)
- bikkuri
- ベストアンサー率33% (23/68)
#2の捕捉です。 >>7)が上手く行かないことについてです処理対象のシートをコピーして >>コピーしたシートを加工、保存したのち、削除するのはどうでしょう > >できるだけユーザの手が掛からないようにしたいのですか? 当然、シートのコピーや最後の削除は一連のマクロ(プログラム)内で するものです。 シートのコピーで上手く行かないようなら、#3さんのように 新しいBookを利用するのがいいようですね。
- bikkuri
- ベストアンサー率33% (23/68)
7)が上手く行かないことについてです 処理対象のシートをコピーして コピーしたシートを加工、保存したのち、 削除するのはどうでしょう
- 78tch
- ベストアンサー率31% (50/157)
保存するのに ActiveWorkbook.SaveAs を使ってますか? 「本当にこれでいいのか」は何がどういいのか誰が決めるんですか?
補足
>保存するのに ActiveWorkbook.SaveAs を使ってますか? 使っています。 >「本当にこれでいいのか」は何がどういいのか誰が決めるんですか? 社内ユーザーの数人に使ってもらい判断したいと思ってみます。
補足
>7)が上手く行かないことについてです処理対象のシートをコピーして >コピーしたシートを加工、保存したのち、削除するのはどうでしょう できるだけユーザの手が掛からないようにしたいのですか?