• ベストアンサー

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

 エクセルファイルでの質問です。 現在「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

  • Excel2003で2つのファイルデータを自動的にひとつにする方法

    エクセルで2つのファイルを自動的にひとつにしたいのですが、できますでしょうか? ファイルA、ファイルBに【名前が同じ】データがあるとします。  ※ファイルAはA列に名前があります。  ※ファイルBはAB列~AP列までのどこかにファイルAと同じ名前があります。 ファイルAの【名前】を参照して、ファイルBの【名前】がある行のデータを丸ごと、ファイルAの【名前】が一致する行へ自動でコピーできますか? ちなみにファイルAにはA~DP列までデータが入っていますので、それ以降にファイルBのデータの行を自動コピーされるようにしたいです。 データが1000件以上あり、地道にコピペするのは少し大変なので自動でできる簡単なやり方があったら、ぜひ教えてください。 アクセスを使うと簡単にできると、聞きましたが良くわかりませんでした。 エクセル。アクセスどちらでも良いので二つのファイルをひとつにする方法を教えてください。 ちなみに私はエクセルはあまり使いませんし、アクセスはまったくの初心者です。 本日は5時以降パソコンの前にいられないので、明日にお返事致します。 以上よろしくお願いします。

  • excel vbaで複数のcsvファイルの読み込み

    100シート分のcsvファイルのデーターを一つずつ読み込んでexcelにコピーして使用してますが莫大な時間がかかって困ってます。 vbaを使用して作業を簡素化出来る事は出来ないでしょうか? ------------------------------------------ ※ csvの概要 excelで1枚のcsvファイルを開くとA列の11行目から65536行まで数値データがあります。 ※ vbaできたらよいなと思う仕様 そこで、複数のcsvファイルを選択して読み込むとCSV_データと言うSeetのA列の10行目から1枚目のcsvファイル、B列の10行目から2枚目のcsvファイルと言う風に選択した分のcsvを列に続けて数値データを貼り付けしてくれるvbaをご教授していただけると大変助かります。 不躾で申し訳ございませんが宜しくお願い致します。 excel2003 ------------------------------------------

  • エクセルVBAでCSVファイルから取り込みたいのですが・・・

    CSVファイルのデータを取り込むコードを教えていただけないでしょうか。 「共有フォルダ」の中に「作業用.xls」と「090820.csv」があります。csvファイルは日によって名前が変わりますが、必ず一つしか入れないことにしています。 CSVファイルの1行目は見出しです。2行目以降がデータになっています。 A2からI列最終行を「作業用.xls」のsheet1のA6にコピー(取り込み)したいのですが、よろしくお願いします。

  • EXCEL 良い方法ありますでしょうか?

    いつもお世話になります。 EXCELでやりたいことがあるのですが、知識がない故できるかどうかがわかりません・・・。 内容は以下です。 ・フォルダに、ファイルAとファイルBの、2つのEXCELファイルを作成する ・EXCELファイルAには、各列にタイトル(20列)、各行に数値データが入力してある(1000行) ・EXCELファイルBには、シートが2つ。 一つ目のシートの任意のセルに、ファイルAの名前を入力すると、2つ目のシートにはファイルAの列の中から、何列かをピックアップして抽出する(ファイルAの2、4、5列目といったように、毎回抽出する列は固定) といった内容ですが、良い方法を教えて頂けると嬉しいです。 よろしくお願いしますm(_ _)m

  • エクセルでまた困っています。

    エクセルでまた困っています。 さて、ファイルをいじっていますと新たな難問が・・・すみませんお教え下さいませ。 ご多忙のところよろしくお願いいたします。 たとえば A列 のセル 4行 で 4つが人の名前が入っています。 A列 田中(p) 鈴木 山田 福田 結果として名前の文字が入っているセルは4つですが ご覧いただいたように田中の名前には(P)という文字がセルにうめこんであります。結果として(P)が記されている名前のみ カウントする方法はあるのでしょうか?((P)のついている名前は1個 (P)のついていない名前は3個)として表示する方法です。) よろしく御教示くださいませ。

  • エクセルで使用中の参照元ファイルからデータを取得する方法教えてください

    参照元の入力ブックA、B、Cから統合ブックにデータをまとめたいと思っています。 A・・・A5:Cのデータのある最終行まで B・・・D5:Hのデータのある最終行まで C・・・I5:Kのデータのある最終行まで 統合ブックにそれぞれの列行のまま貼り付ける このようなABCファイルが、現在閉じた状態であっても、使用中の状態であってもそれぞれの列を取り込んで(コピーして)統合ブックに一まとめにしたいのですが、このような条件でこのようなことは可能でしょうか。どのようにしたらできるか知りたいので、教えていただけたら助かります。宜しくお願いします。

  • 別のエクセルファイルの値をコピーをしたいです

    別のエクセルファイルの値をコピーをしたいです。 現在、仕事でファイルAにファイルBの値をコピーペーストをする作業を行っております。 しかし、量が多いのでいちいちファイルを開いてコピーして貼り付けという作業は時間がかかるのでマクロでやりたいと考えています。 そこで教えてほしいのですが、以下のような操作をマクロでするにはどうしてらよいのでしょうか? 1.ファイルAの列範囲F~J、行は9から下にファイルBの値をコピーしたい。 2.コピーするファイルBの値の範囲は、列E~I・行は1から下。 3.コピーするファイルBの行は毎日更新されるため、行の範囲は不特定です。 つまりは 昨日のファイルBの行は10まであり、マクロを実行するとファイルBのE1~I1からE10~I10の値がファイルAのF9~J9から下にコピーされる。 今日のファイルBの行は4まであり、マクロを実行するとE1~I1からE4~I4の値がファイルAのF9~J9から下にコピーされる。 という操作をマクロで実行したいと思っております。 また、ファイルBの名前も不特定のため、ファイルはダイアログで指定し、指定したファイルのE1~I1から下の値をコピーできるようにしたいです。 毎日の作業ですので、これが出来れば効率はぐっと上がります。 わかる方、どうか回答宜しくお願いいたします。

  • Excelファイル比例計算 算出方法について

    ExcelファイルにA列及びB列に以下の様な値を入力しました。     A列 B列 C列 D列 1行目   0  0  15  150 2行目   10 100  36  660   3行目   20 300  37  670 4行目   30 600 5行目   40 700  ここにC列1行目に15と入力して、150と計算させる 様な式は、あるのでしょうか?そして2行目以降も C列に任意の値を入れて、D列に表示する式はあるのでしょうか? (例 36→660 等) 宜しくお願い致します。

  • エクセルファイルの結合はどうするの?

    *AとBのエクセルファイルは同書式です (1)AとBのエクセルファイルを結合してA・Bの内容を含んだCのファイルをつくれませんか?(説明不足ですかね)/列だけではなく行も同時に結合?挿入したCのファイルをつくれませんか? (2)AとBのエクセルファイルそれぞれのH列の1500行に数字が入力されてます/ABファイルのH列の1500行のセルには必ずどちらか一方にしか数字は入力されてません/ABを結合?させたH列の新たなCファイルを作りたい

  • エクセルで二つのファイルを一つのファイルにする

    エクセル2010の質問です。 二つのファイル(同ファイルに2枚シートがあるのではない)があるのですが、この二つのファイルを一つのファイルにまとめたいのです。 一つ目のファイルには横A~S、縦1~60まで使っていてそれぞれ数式が入っています。 二つ目のファイルには横A~R、縦1~60まで使っていてそれぞれ数式が入っています。 私がやりたいのは、一つ目のファイルの終わりの列であるS列の次のT列から二つ目のファイルのA~Rまでコピーして、 尚且つ二つ目のファイルの数式を合うように(たとえば二つ目のファイルのとある数式はA列を使用しているのでコピー後はA列は一つ目のファイルの数値となるためコピー後T列になるように)したいのです。 データが膨大なのでなんとかコピーを使いたいです。 説明が難しいですが、詳しい方ご回答をお待ちしています。 説明が足りない場合は補足いたしますのでご指摘お願いします。

専門家に質問してみよう