- ベストアンサー
マクロでの自動保存
- エクセルで作ったデータをボタン一つで自動的に特定のフォルダーに保存するマクロを作りたいです。
- 保存名前を付けて保存するプログラムまでは組めたのですが、特定のフォルダに保存していくプログラムがうまく動きません。
- 下記に作成したコードを記載するので、アドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご質問がいまいちよくわからないのですが、ご提示のコードはそのマクロを書いたBOOKが保存されているフォルダー内にあたらしく保存させるものです。 それを別の指定したフォルダーに変えたいということでしょうか? そうであれば、以下のように パス = "C:\Documents and Settings\merlionxx\デスクトップ" のように直接していするのが簡単です。 Sub データ保存() Dim パス As String, 別名 As String Sheets("シート名").Select パス = "C:\Documents and Settings\merlionxx\デスクトップ" 別名 = Application.InputBox(prompt:="入力例.12345", _ Title:=" ファイル名を入力して下さい", Type:=2) 別名 = パス & "\" & 別名 & ".xls" Sheets("シート名").Copy ActiveWorkbook.SaveAs Filename:=別名 ActiveWorkbook.Close End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
>ボタン一つで自動的に この意味はどういうこと。ボタンのクリックをキッカケにプログラムを走らすのか。 Googleででも「VBA CommandButton Click」で照会すること。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_130_02.html >自動保存 これもあいまい。 人手の操作を経すに、という意味か。 保存するタイミングはどうする。質問のコードでは、質問のコードを実行するとき、となる。 これをボタンをクリックしたとき、などにしたいのか。簡単だが。 >特定のフォルダーに保存するマクロ この点に主眼があるのか。 フォルダ指定をどのようにさせたいのか。 (1)INPUTBOXなどで応答指定(質問の場合もこれ) (2)ファイル指定のダイアロウグで選択で行わせる) (3)プログラムの中に書き込んで固定指定、 (4)その他 など、在りそうだが、どれかあいまいだ ーー 上記(1)の方法で、ファイル名を含めた「パス」も指定の対象にすれば仕舞いのようでも在る。 ーー 質問表現を丁寧に(その元になる質問者の思考をしっかりと)すること。
- merlionXX
- ベストアンサー率48% (1930/4007)
ANo1です。 ひょとして保存先ホルダーを自分で選びたいということだったのでしょうか? それなら Sub データ保存02() Sheets("シート名").Copy If Application.Dialogs(xlDialogSaveAs).Show Then ActiveWorkbook.Close End If End Sub でできます。