投稿者 m190  (社会人) 投稿日時 2012/5/28 23:52:51
なんとなく、ここら辺がはっきりすると分かり易くなるんじゃないかな?
・・・って感じがする点を 3つほど


おそらく現状でも集計は出来てるんだけれども、VB と Excel の通信回数を減らすため
ファイルを丸ごと読み込んで、書き込みの時にも丸ごと(まとめて)書き込みたい。
その時に、
> 1ブロック目の処理結果をファイル数のシート数分、2次元配列に入れて書き込む
hani(0)={A1:B2,F3:G6.....} →複数ファイルの複数シートへ書き込み、次にまた
hani(1)={B3:G4,E3:F6.....} →複数ファイルの複数シートへ書き込み、次にまた
・・・n 回分繰り返し・・・
hani(n)={A2:B3,F6:G9.....} →複数ファイルの複数シートへ書き込み、ようやく終了

これを
hani(0)={A1:B2,F3:G6.....} →1ブロックごとに結果をいちいち書き込まず
・・・n 回分繰り返し・・・
hani(n)={A2:B3,F6:G9.....} →全ての処理終わったら、最後にまとめて書き込みたい

そのために、
計算結果が格納されている配列を、リストなどに一時保存しておきたい
・・・って感じなんですよね?(ご要望としてはあってますか?)


で、そのときの集計対象なんですが、もし串刺し計算みたいな感じだと
こんな↓ようなパターンなのか("A"一文字が開始・終了位置を表します)、
1) Book1
    Sheet(1) A,B,C  '←計算範囲は Book内でみな同じ
    Sheet(2) A,B,C
    ・・・
    Sheet(n) A,B,C
  Book2
    Sheet(1) V,B   '←計算範囲は Book内でみな同じ
    ・・・
    Sheet(m) V,B

あるいは↓こんな感じの、
2) Book1
    Sheet1(A,B)    '←計算範囲が Book毎にバラバラ
  Book2
    Sheet1(V,i,s,u,a)
    Sheet2(l,B)
    Sheet3(a,s,i,c)
  Book3
    Sheet1(V,B,中,学,校,)

> パターンとしては 1)と 2)とでは、どちらに近いのか
#対象範囲が Book内でバラバラだと串刺し無理ですよね?
#・・・もしかして 1)と 2)のあわせ技!?←その場合は 2)ってことで・・・


それから、1ブロック目の処理を行う際に、(集計に必要なデータを集めるために)
> 3)Book1 を丸ごと読み込んでくれば、 1ブロック目の処理が行えるのか、それとも
> 4)Book1 も Book2 も Book3 も読み込まないと、1ブロック目の処理が行えないのか
3)と 4)だと、どちらに近いですか?
#結果を書き込む時にだけ複数ファイルに書き込む必要がある感じでしょうか?


最後にもう1つ、対象範囲について
> 5)処理の途中で、集計の対象範囲が追加・削除されるなどの変更はありますか?
あるいは
> 6)処理開始の前に、一旦 configファイル等から対象範囲を読み込んでしまえば、
> とりあえずは、その処理の最中に対象範囲の変更が起こる心配はない、
といった感じですか?計算の対象範囲は、5)と 6)と、どちらに近いですか?


・・・見たいな部分がはっきりすると
きっと解決への道筋も探し易くなるんじゃないかな、って思いました。