受信ファイルを順番に開いてシートに貼り付けるには?

Question 9.11 Previous Next
転送されてきた伝票のFile100ケ程(Fileの数は、変わります。 1ケのFileがEXCELで作られた定型の伝票1枚です。)を一つ一つ順番に手動で開き(マクロを使用)新規のEXCELのシートへ 上から順番に1から100まで張り付けをして印刷をしていますが、この作業をすべてマクロ化したいのですが。
なお、伝票ファイルには、それぞれファイルNoが付けられております。
張り付ける側の新規のシートには、フォーム(表)が罫線で作成されて(1から100程)います。
印刷は、張り付けた数だけページ印刷をしています。
Answer   Copyright (C) 1998.9.6 永井善王
「転送されてきた伝票のFile」がExcelブックなのか、 テキストファイルなのか不明です。ここでは、カンマ区切りのテキストファイルと解釈し、「ファイルNo」 (下図では店舗)のダブリが無い前提で、お答えします。
もしも、Excelブックの場合は回答マクロを修正してください。このHPのMACROの[開始・終了] [コピー]などの ページが参考になると思います。
また、「張り付けた数だけページ印刷」の意味を、印刷枚数(下図の場合は3枚)と解釈しました。
その他の与件としては、「張り付ける側の新規のシート」のレイアウトは下図(左)。
「転送されてきた伝票のFile」は、ハードディスクのCドライブの「受信」フォルダーに入っていることとし、 その内容は下記(中)、
出来上った結果シートは下図(右)のとおりとしました。
結果を貼り付けるシートのレイアウト
結果シート
「転送されてきた伝票File」の内容
報告1.txt   1,"2,500","700"
報告3.txt   3,"4,000","1,300"
報告10.txt  10,"1,000","3,000"
報告1.txtには上記のほかに、不正データを1件入れてあります。
※ このテキストファイルと左図のシートは、わかりやすくするために項目数を最少限にしましたが、 実務に合せて簡単に修正できるように、マクロを組んでおきました。
また、ドライブ番号、フォルダー名などを変えるためのマクロ修正も、簡単に行えるよう配慮しました。
貼り付けた後の結果シート
貼付後のシート
プログラムのあらすじは次のとおりです。
 1. 指定フォルダー中の指定拡張子のファイル名をシートに書く
 2. テキストファイルを順に読み込みシートに貼る
 3. 読込シートの範囲を調べて作業シート用の式を作りソートする
 4. 読込シートの値を作業シートの対応する店舗コードのセルに入れる
 5. 作業シートからエラー値をヌルに置換しながら整理シートへ写す
 6. 整理シートの店舗コード以外の値を結果シートに写す
 7. 印刷する

最少限のエラー処理をしておきました(受信データが1件もない、テキストファイルのフォーマット不正)が、 実務に合せて改良してください。

マクロの詳細はこちら
受信データ自動編集 を見てください。

サンプルマクロ
受信データ編集」をダウンロード すれば実際に動かしながら見れます。

なお、実際に動かすためのテストデータの準備方法などは、ダウンロードしたReadme.txtを読んでください。

 

Excel VBA Macro