投稿/コメントを表示します。

お世話になります。
現場では SUMIFS関数を使用する機会が多く 
動画のSUMIF関数をマクロで・・を参考にもう一つの条件をANDで追加してみました。
しかし、ANDで指定している”L2”ひとつの時は下記のマクロでOKですが
L2~CX2 まであると どうしていいのかわかりません。
列を行(hida) みたいに 変数にできないでしょうか。Coulmns指定??・・基礎マクロ範囲であれば教えてください。

表(hida)データ表
↓が集計表(migi)となり 品名と各列(F-1.F-2・・)二つの条件が合致するもののみ goukeiする。

K列  L列 M列 N列・・・CX列
1 (1行目空白)
2 品名 F-1 F-2 F-3.・・・
3 AA/1 500
4 AA/2 200
5 BB/1  0
6 CC/1 500

Sub syuukei()  ’”品名”AND”L2”の2つの条件を満たしている時だけ goukei する
Dim goukeI
Dim hida
Dim migi
For migi= 3 To 6 ’現場では 30行くらいある
goukei = 0
For hida = 3 To 13
If Range("E" & hida).Value = Range("K" & migi).Value And Range("H" & hida).Value = Range("L2").Value Then
goukei = goukei + Range("F" & hida).Value
End If
Range("L" & migi).Value = goukei
Next
Next
End Sub

SUMIFS関数式を埋め込むと以下になりますが
これもL~CXまで書くのは少しナンセンスかと・・

Sub keisan()
Dim gyo
For gyo = 3 To 6
'実際は50列位あるのでこの書き方は面倒
Range("L" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("M" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("N" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("O" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("P" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("Q" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("R" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("S" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Range("T" & gyo).FormulaR1C1 = "=SUMIFS(C6,C5,RC11,C8,R2C)"
Next

End Sub
2016/04/03 23:56