|
初めて参加させて頂きます。
VBA初心者で、過去のログから色々と勉強させて頂いています。
質問は、処理速度とメモリ使用量を考慮した場合、【考えられる方法】のどれを選択するのが得策か御助言頂けないかというものです。
また、下記以外でよりよい方法がありましたらご教授頂けないでしょうか。
抽象的な質問で申し訳ありませんが、よろしくお願い致します。
【背景】
(ファイル処理のイメージ)
A11 C11
A12 × B1 -> C12
A13 C13
C14
A21 C21
A22 × B2 -> C22
C23
C24
1)4種類のファイルを扱います。
※A,Bを編集してCを作成するVBAロジックをDに書き込みます。
A:元データファイル(エクセルにて保存されています)
→複数存在します。
各ファイル複数シートを保持します。
B:元データファイル(テキストファイルにて保存されています)
→複数存在します
データ量は膨大にあります。
C:A,Bを編集して作成するテキストファイル
→複数作成されます
D:VBAのロジックを保持する、実行ファイル(エクセルにて保存されています)
→1つです
A,BをCに編集する処理を実行します。
2)「A:B=N:1」が基本の関係ですが、これが複数パターン(Bが複数種類)あります。
「B:C=1:N」の関係にあります。
Dで選択するパラメータはAが保存されたフォルダなので、処理の中心はAになります。
(これは既に決められた仕様です)
>>Aのファイル名から対象となるBを探し、データ編集後Cが作成される流れです。
【考えられる方法】
※2,3行目に違いを記述しました
1.フォルダにあるAの名前を先に取得し、Aの数ループする。
★AをOPEN→BをOPENを繰り返し、BをINPUT命令にて1行毎に読込&処理。
★(Bは同じファイルのOPEN/CLOSEを繰り返す)
Aの種類が変わったら、Cを保存。新規ブックをOPENする。
2.フォルダにあるAの名前を先に取得し、Aの数ループする。
★Aの種類の最初にBを読込み、配列(2次元配列)に保持する。
★AをOPEN→配列をループして処理。
Aの種類が変わったら、Cを保存。新規ブックをOPENする。
3.フォルダにあるAの名前を先に取得し、Aの数ループする。
★Aの種類の最初にBを読込み、新規ブックにコピーする。(保存はしない)
★AをOPEN→新規ブックを参照して処理。
Aの種類が変わったら、Cを保存。新規ブックをOPENする。
EXCELは'97にて開発します。
以上、宜しくお願い致します。
|
|