|
A B
---------
X1
1
2
3 100
4 10
4 20
4 30
4 40
3 30
4 15
4 15
2
3 60
4 10
4 20
4 30
X1
1
2
3 700
4 100
4 100
4 100
4 200
4 200
3 30
4 10
4 20
2
3 20
4 10
4 10
上記のようにA列にレベル、B列に金額が入力されています。
レベルX1にくると新しい合計計算処理を行なう。
マクロ実行時に、
A列の「2」の部分に「3」の合計式
C3=SUM(B3,B9),C12=SUM(B13),C19=SUM(B20,B26),C29=SUM(A30)を
A列の「1」の部分に「2」の合計式
C2=SUM(B3,B12),C18=SUM(B19,B29)を
それぞれ自動で入れたい。
どのような方法で実現すれば良いか教えていただけますでしょうか。
SUMIF関数でセルの最終箇所までを範囲指定し、それぞれのレベルのときに
金額合計を行なう処理を考えておりましたが、行き詰まってしまいました。
Do Until文で次のレベル2になったら新しく計算式を代入するという処理で
悩んでます。
他に効率が良い方法がございましたら教えていただけますでしょうか。
//////////////////////////////////////////////// 一部抜粋
Selection.End(xlDown).Select
encel1 = ActiveCell.Address
cend = Mid(encel1, 4)
'レベル2のときの合計式
If Cells(cell, 1).value = 2 Then
Cells(cell, 3) = "=SUMIF(E1:E" & cend & ",3,H1:H" & cend & ")"
end sub
/////////////////////////////////////////////////
|
|