VBAで任意の範囲内のセル2個ずつを総当りでコピー
シートA シートB シートC
A B C D A B C D A B C D
1 21 22 23 24 21 22 2122 2122' 2122 2122'
2 2123 2123’
3 2124 2124'
4 2223 2223'
(1)シートAのA1、B1をコピーしてシートBのA1、B1に代入する。
シートBのC1、D1には計算式が入っており、結果が表示される。
(2)シートBのC1、D1の計算結果をシートCのA1、B1に代入する。
(3)次はシートAのA1、C1をコピーしてシートBのA1、B1に代入する。
シートBのC1、D1には計算式が入っているので結果が表示される。
(4)計算結果をシートCのA2、B2に代入する。
(5)同じ動作をシートAの一行目に数字がある場合は繰り返し行う。
(6)シートA(A1、B1)(A1、C1)(A1、D1)が終了したら
今度は(B1、C1)(B1、D1)と、
シートAのB1を、シートBのA1とB1に代入して、
計算された結果をシートCのA列、B列に代入していく。
(7)シートAのB1が終了したら、今度は(C1、D1)をシートBのA1、B1に代入し、
計算結果をシートCのA6、B6に代入する。
地域ごとの合併による効果に関する調査で使用したく、
シートAの一行目の数字を総当りさせる事が目的です。
上の説明では、シートAの一行目は4列しかなく、シートCに導き出される計算結果は6行だけですが、
実際の作業はシートAは130列ほどとなり、マクロで作ると8,000回の作業を
しなくてはならないため、VBAでいろいろ試してみたのですが、
知識不足でうまくいかないため質問させていただきました。
また、シートBのC1とD1の計算式というのは、
シートBのA1とB1に数値を代入した際に、A列B列の2行目以下に
関数で数字を引っ張ってきて(総人口や産業別就労人口等)、
それらの数値を使った計算なので、シートAに計算式を入れるというのは少し難しいです。
どうぞよろしくお願いいたします。
お礼
すみませんでした。 会社で慌てて質問をしたため、今確認すると全然意味の分からない質問になっていました。一旦、この質問を締め切って改めて質問させていただくことにします。