• 締切済み

数千行のリストデータを各々の名前のファイルにコピー

はじめまして。VBAを始めて間もないので教えてください。 今現在数千行のリストのデータを、決められたフォーマットの表にコピー&ペーストし、セルの書式設定でユーザー定義を変えるという作業をしています。 表のフォーマットは1種類なので、リストのD列目のデータを1つずつ対応する名前のファイルを開いてはH6に、E列目のデータはI6にペーストし…(そして定義を変え1つのファイルずつ保存する)という単純作業をボタンひとつで自動的に行えるVBAを創ろうしてます。以下のサイトなどを参考にしてプログラムを組み直して 『VBAで他のファイルのセルをコピーして貼り付けるマクロを作成しましたが、 どうし...』 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1436846534 『第4回 セルの内容と同じ名前のブックを開く 1/4』 http://www.moug.net/vba/beginners/exvba004-1.html 『プログラムの肝! 条件分岐と繰り返しの基本文法とさまざまな書き方 (1/4)』 http://www.atmarkit.co.jp/ait/articles/1403/04/news082.html#01 いるのですが、デスクトップのフォルダ内にあるセルと同じ名前のファイルを開く場面などでエラーを 起こしデバックがうまくできません。 どういったマクロを組めばうまくいきますでしょうか? またコンピュータに負荷があまりかからないで、開いてはペーストして保存という行為を数千回繰り返す方法を教えてください。 お願いします。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

もしかしてファイル名の「0001」とあるセルは、実際に入力されているのは1で、書式で0001と表示していて、さらにブックを開くときは↓こんな感じのコード何じゃないですか? Workbooks.Open Filename:="C:\顧客データ\" & Range("C4").Value & ".xls" その場合、セルに入っているのは「0001」ではなく「1」ですので、Valueで取り出すのは「1」ですから、1.xlsを開こうとしています。 Workbooks.Open Filename:="C:\顧客データ\" & Range("C4").Text & ".xls" こんな感じにValueではなく、Textにしてみて下さい。

関連するQ&A