Excel을 처음 사용합니다. VBA Excel에서 Sum-product를 평가해야합니다. 여기 VBA Excel에서 평가할 펌프 제품
내 워크 시트의 :.
- 셀 (강조 노란색)
(강조 레드)
- 열이 C 전설을 포함 (강조 표시된 핑크)
- 열 J 월이 들어 있습니다. (녹색 강조 표시)
- 열 K 해당 특정 트랜잭션의 범례가 들어 있습니다. : (강조 오렌지)
- 열 나는 합계 할 값 (강조 블루)
- 열 D9는 이후
는 내가 뭘하려고하는 것은 즉 합계 제품의 결과 (강조 회색)를 보여줍니다 포함되어 있습니다
셀 D6에 날짜를 입력하면 열 J를 셀 D6과 일치하는 달을 사용하여 합계해야하며 일치하는 경우 열 C의 범례와 열 K의 범례를 일치시키고 다시 일치하면 열 I을 합계하고 열 D9의 값을 표시합니다.
이것은 내가 사용하는 공식이며 VBA없이 작동합니다.
SUMPRODUCT((MONTH($J$9:$J$12000)=MONTH($D$6))*($K$9:$K$12000=C10)*($I$9:$I$12000))
While Loop를 사용하는 것이 목적입니다. 특정 달 동안 D6에 날짜를 입력하면 Month가 증가 또는 감소하고 다른 지정된 날짜 셀 D4 (강조 표시된 노란색)까지 추가됩니다.
하지만 위 공식을 사용하면 #Value를 반환합니다.
Sub Sub1()
Dim a, b, c As Integer
a = Sheet20.Cells(6, 4)
b = 4
c = 10
Do While a >= Cells(4, 4)
Sheet20.Cells(c, b).Value = Evaluate(" (SumProduct((Month(Sheet20.Range(J9:J12000)) = Month(Cells(6, 4))) * (Sheet20.Range(K9:K12000) = Cells(c, 3)) * (Sheet20.Range(I9:I12000)))")
a = a - 1
Loop
End Sub
위의 값이 올바르게 적용됩니까?