|
>今日も暇人 さん
SUMIFで期待する数値が出なかった訳ではないです。
式自体が動かなかったのです。
文章で説明するのは難しいですね。
前回の物から Ans = "" を削除してみましたが、
条件が全く生きてこなくなってしまいました。
'処理対象のシートを明確にするために変数にセット
Set ws1 = ThisWorkbook.Worksheets("1")
Set wsa = ThisWorkbook.Worksheets("2")
'集計対象シートの最下行:キーになるE列で判定
Lr = ws1.Range("A65536").End(xlUp).Row
Rmax = wsa.Range("E65536").End(xlUp).Row
T = "Apple"
i = 7
Ans = 0
With ws1
For i = 7 To Lr
For Each App In wsa.Range("AJ2:AJ" & Rmax)
If App.Value = T Then
Ans = Application.WorksheetFunction.SumIf _
(wsa.Range("E2:E" & Rmax), ws1.Range("A" & i).Value, wsa.Range("G2:G" & Rmax))
End If
Next
.Range("C" & i).Value = Ans
Next i
End With
1シートにあるApple欄に、
2シートからAppleやBookやCastleなど沢山品目がある中で、
Appleと入っている行の個数を引っ張ってきたいのです。
のでSUMIFでないと出来ないのです。
なぜ条件が生きてこないのか分かられますか?
|
|