|
今晩は。
ループで値を比較するとは、たとえば”4月”がvariant型2次元配列vv1(2,1)に入れてあって,"11"がinteger型 ixに入れてあれば、それを予算ブックのrange("b2:l2")とrange("a2:a6")の全ての値と比較する、ということです。たとえば製造番号11の4月のトータルが2次元配列vv11(2,2)に入れてあるとして、
Dim rr as range,r as range
dim ix as integer,ir as integer,ic as integer
set rr=range("b2:l2")
for each r in rr
if r.value=vv1(2,1) then ir=r.column
next
set rr=range("a2:a6")
for each r in rr
if r.value=s then ir=r.row
next
cells(ir,ic).value=vv11(2,2)
こんな感じです。
シートに書かれた値は、そのままvariant型2次元配列に簡単に代入出来ます。
たとえば
vv11 = Workbooks("詳細表11").Worksheets("詳細").usedRange.value
と書けば、表がそのまま配列になるので、
for i=3 to ubound(vv11,1)
vv11(2,2)=vv11(2,2)+vv11(i,2)
next
とすれば、vv11(2,2)に、4月のトータルが代入されます。これの2重ループで
各月のトータルを出す訳です。
言葉で説明するのは結構難しいので、後でコードで書いて見ます。
|
|