2015-12-07 13 views
0

我在VBA以下問題:開關和點心在Excel中使用VBA

考慮以下幾點:

Excel table

我要建立每一種的總和。通過B列並按類別收集A列中的數額,並在完成循環後在E列中寫入每種類型前面的總和。 我該怎麼做?

由於

+2

'= SUMIF($ B:$ B ,$ D2,$ A $ A)'。沒有vba需要 –

+0

,但我必須使用VBA,因爲此表是每次都由VBA創建的。但是,如果這是不可能的,我會使用記錄宏和你的建議。謝謝 – maniA

+1

爲什麼不能使用公式?在VBA中,您可以輕鬆設置單元格或單元格的公式。 – Taelsin

回答

1

嘗試這種情況:

= SUMPRODUCT((B2:B13 = E4)*(A2:A13))

即進入在細胞F4。填好。

1

要獲得動態唯一列表 在D2 =INDEX($B$2:$B$1000,MATCH(0,INDEX(COUNTIF($D$1:D1,$B$2:$B$1000),0,0),0))

要通過動態唯一列表 總結在E =SUMIF(B:B,D2,A:A)

將雙雙回落

這裏是我的結果(注意值會有所不同你的結果,因爲我只在每一個旁邊有一個,因爲我無法打擾你粘貼的圖片中的值,請始終嘗試發佈人們可以複製和粘貼的數據):

a  3 
b  4 
f  3 
d  2 
c  1 
0  0 
#N/A 0 
#N/A 0 
#N/A 0 
#N/A 0 
#N/A 0 

可以在IF把它包裝(ISNA(公式) 「」,式)或ISERR式,不管你喜歡以對抗#N/A