• ベストアンサー

エクセルファイルを別名でたくさん作る方法

 エクセルファイルでの質問です。 現在「A-1」と言う名前のエクセルファイルが有ります。 これをコピーして「A-2」と言うファイルを作ります。 最終的に列が1から10まであり、行がA~Pまであります。 ファイル数は全部で約160個になります。 1個1個名前を変えてコピーしていたのでは時間が掛かるので、BATファイルを作ってコピーできればと思っています。 しかし、やり方が分からなくて困っています。 教えて下さい。 よろしくお願い申し上げます。

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

  • ベストアンサー
  • suz83238
  • ベストアンサー率30% (197/656)
回答No.3

エクセルVBAなら簡単です。 ファイルのある場所を「C:\Documents and Settings\User\デスクトップ」とすると下記のとおり、適当にファイルのある場所を変更して下さい。最後に「\」を忘れずに。実行すれば、ファイルは2秒位でできます。 ' Sub xxx() fil = "C:\Documents and Settings\User\デスクトップ\" For j = 1 To 10 For i = 1 To 16 If i = 1 And j = 1 Then GoTo s1 FileCopy fil & "A-1.xls", fil & Chr(64 + i) & "-" & j & ".xls" s1: Next i Next j End Sub

takao1004
質問者

補足

簡単にできました。 ありがとうございました。 ちなみに、これを応用して、セルからの操作はできますか? たとえばA1セルにファイルの場所 A2にファイル名の最初の記号。ここでは「A」 A3にファイル名の後の記号。ここでは「1」 として、ボタンを配置後クリックで作れるようにできませんか? よろしくお願い申し上げます。

その他の回答 (2)

noname#65902
noname#65902
回答No.2

No.1 です。 先ほどの for 文がついた計11行を、 エディタなどに並べて CR まで含めてコピーし 右クリック→[貼り付け]で コマンドラインに11行のコマンドラインを貼り付けて 全部実行してくれました。 全部並べて書いておけばよかったです。

takao1004
質問者

お礼

出来ました。ありがとうございました。

takao1004
質問者

補足

 ご返信ありがとうございます。 大変申し訳ありませんが、もう少し砕いて頂けませんでしょうか? こちら、拡張子をBatに変える事くらいしか知識がありません。 申し訳ありませんがよろしくお願い申し上げます。

noname#65902
noname#65902
回答No.1

コマンドラインだけでもできます。 まず、「ファイル名を指定して実行」で cmd と入力し、コマンドプロンプトのウィンドウを開いてください。 次に、カレントフォルダ(今注目するフォルダ)を、 今A-1.xls ファイルがある場所に変更してください。 そして for %a in (2 3 4 5 6 7 8 9 10) do copy A-1.xls A-%a.* でA-2~A-10.xls を作ります。これくらいは手操作でもいいかも。 次に for %a in (B C D E F G H I J K L M N O P)do copy A-1.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-2.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-3.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-4.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-5.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-6.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-7.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-8.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-9.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-10.XLS %a*.* でOKです。が、 これらをコマンドラインにコピペしてもOKです。 殆ど同じコマンドを、コマンドプロンプト上で少しの操作で手を加える方法もあるのですが ここでは省略します。

関連するQ&A