|
皆様からのご意見を参考に変更してみました。
しかし、今度は型が一致しませんと出ます。
#今回は一旦全部SUMIFで2.シートに反映させた後、
1.シートの特定列(AJ列)に【Apple】と入っていない場合のみ
空白を返すようにしているつもりです。
オートコンフィグしないとダメですかね。
Private Sub コンボ_Change()
Select Case (コンボ)
Case "AprWk1"
Dim ws1 As Worksheet, ws2 As Worksheet, Rmax As Long, i As Long
'処理対象のシートを明確にするために変数にセット
Set ws1 = ThisWorkbook.Worksheets("2")
Set ws2 = ThisWorkbook.Worksheets("1")
'集計対象シートの最下行:キーになるF列で判定
Rmax = ws2.Range("E65536").End(xlUp).Row
'SUMIFで合計する
i = 7
With ActiveSheet
Do Until .Cells(i, 1).Value = ""
ws1.Range("C" & i).Value = Application.WorksheetFunction.SumIf _
(ws2.Range("E1:E" & Rmax), ws1.Range("A" & i).Value, ws2.Range("G1:G" & Rmax))
i = i + 1
Loop
End With
i = 7
With ActiveSheet
Do Until .Cells(i, 1).Value = ""
If ws2.Range("AJ1:AJ" & Rmax) = "<>Apple" Then
ws1.Range("C" & i).Value = Application.WorksheetFunction.SumIf _
(ws2.Range("AJ1:AJ" & Rmax), ws1.Range("A" & i).Value, "")
i = i + 1
End If
Loop
End With
End Select
End Sub
|
|