2
我是Excel新手。我需要在VBA Excel中評估Sum-product。在VBA Excel中評估Sumproduct
這是我的工作。
- 單元格D4包含特定日期(以黃色高亮顯示)
- 小區D6包含新輸入的日期(紅色高亮顯示)
- 列C包含傳奇(突出顯示粉色)
- J列包含月。 (突出顯示的綠色)
- K列包含該特定事務的圖例。 (顯示爲橙色)
- I列包含要總和值(藍色高亮顯示)
- 列D9起將展示和產品的結果(高亮灰)
我試圖做的是:
我會在單元格#D6中輸入一個日期,該日期將在列J與單元格D6的匹配月份的幫助下求和第I列,如果匹配,則它將在列C中將列K的圖例與圖例的圖例相匹配,如果再次匹配,它將在列D9中向上求和列I和顯示它的值。
這是我使用的公式,它在沒有VBA的情況下工作。
SUMPRODUCT((MONTH($J$9:$J$12000)=MONTH($D$6))*($K$9:$K$12000=C10)*($I$9:$I$12000))
使用VBA的目的是使用While循環。當我在D6中輸入一個特定月份的日期時,它應該遞增或遞減Month並將它們添加到另一個指定的日期單元格D4(突出顯示的黃色)。
但是,當我使用上述公式它返回#值。
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
上述範圍是否正確?