• ベストアンサー

セルにある文字列をファイル名にして、2ヶ所別のフォルダに保存するマクロ

あるセル(A10)にある文字列をファイル名にして、2ヶ所のフォルダに 保存するマクロを教えてください。 下記質問で番号(下記アドレス参照)を採番した後、その番号をファイル 名として、2ヶ所のフォルダに保存したいのです。 http://oshiete1.goo.ne.jp/qa3195270.html マクロ初心者ですが、そのような事がマクロで出来ますか? 出来るならば、その方法を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。簡単に警告メッセージを出すようにするなら  SaveCopyAs → SaveAs に変更すればよいです。ただしこの場合、保存後にアクティブとなるブックは「書き込んだブック」になります。 Sub CopySv() Const SvFolder1 As String = "C:\BackUp1\" Const SvFolder2 As String = "D:\BackUp2\" ActiveWorkbook.Save ActiveWorkbook.SaveAs Filename:=SvFolder1 & Range("A10").Value & ".xls" ActiveWorkbook.SaveAs Filename:=SvFolder2 & Range("A10").Value & ".xls" End Sub SaveAsメソッドを用いた場合でも元のブックを開いたままにしたいということであればこんなマクロになります Sub CopySv() Dim nm, pt As String Dim wb as Workbook Const SvFolder1 As String = "C:\BackUp1\" Const SvFolder2 As String = "D:\BackUp2\" ActiveWorkbook.Save ActiveWorkbook.SaveAs Filename:=SvFolder1 & Range("A10").Value & ".xls" ActiveWorkbook.SaveAs Filename:=SvFolder2 & Range("A10").Value & ".xls" Set wb = ActiveWorkbook Workbooks.Open Filename:=pt & nm wb.Close End Sub

huaban
質問者

お礼

Zap35さんありがとうございました<m(__)m>これで完璧!に出来ました。 保存先がアクティブになった方が都合がいいので、上の方のマクロ を使わせていただきました。これで作業が楽に出来るようになります。 ご丁寧にご説明ありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

例えば以下のようなマクロでもできます Sub CopySv() Const SvFolder1 As String = "C:\BackUp1\" Const SvFolder2 As String = "D:\BackUp2\" ActiveWorkbook.SaveCopyAs Filename:=SvFolder1 & Range("A10").Value & ".xls" ActiveWorkbook.SaveCopyAs Filename:=SvFolder2 & Range("A10").Value & ".xls" End Sub

huaban
質問者

お礼

すぐにご回答いただきましてありがとうございます<m(__)m> 記述していただきましたマクロで完璧に出来ました。 が・・・既にその名前でファイル保存されていた場合、そのまま 上書きがされてしまうのが難点です(ーー;) ファイル名の○○○-yymmdd○(○○○がジャンル、最後の○は、 その日の何番目の処理か)のジャンル部分は手で打ち込んでいます。 間違えて打ち込んでしまうと、上書きが自動にされてしまうのですが、 何かいい方法はないものでしょうか?「上書きしますか?」等のコメント が出ないので危険!です。何か方法がありましたら、教えてください。

関連するQ&A