返回列表 上一主題 發帖

sumifs 轉成 vba 語法

sumifs 轉成 vba 語法

Dear 各位先進,
我有寫了函數
=SUMIFS(R5:R50,O5:O50,A5,P5:P50,B5,Q5:Q50,C5)

有找了網路寫成VBA的作業,但仍不懂該如何寫VBA

是否可請教各位先進,教導一下 SUMIFS VBA 語法

感恩!
Just do it.

我是直接寫成

Sub S40()
For I = 5 To [a65536].End(3).Row
Cells(I, "G") = SumIfs(Cells(I, "R"), Cells(I, "O"), Cells(I, "A"), Cells(I, "P"), Cells(I, "B"), Cells(I, "Q"), Cells(I, "C"))
Next
End Sub

但有錯誤

01.jpg
2017-5-30 18:37
Just do it.

TOP

回復 2# jsc0518

'Cells(I, "G") = SumIfs(Cells(I, "R"), Cells(I, "O"), Cells(I, "A"), Cells(I, "P"), Cells(I, "B"), Cells(I, "Q"), Cells(I, "C"))
改為
Cells(I, "G") = Application.SumIfs([R5:R50], [O5:O50], Cells(I, "A"), [P5:P50], Cells(I, "B"), [Q5:Q50], Cells(I, "C"))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 3# ML089

感謝您的回覆,可以使用!
再次謝謝!
Just do it.

TOP

回復 3# ML089

請問這樣的函數要怎麼改
=SUMIF(入庫單!$O$2:$O$1001,倉庫庫存!A4,入庫單!$R$2:$R$1001)
感謝~

TOP

= Application.SumIf(Sheet1.Range("Q"), Sheet1.Cells(4, 1), Sheet1.Range("R:R"))

TOP

回復 6# rouber590324


    感謝!!~~

TOP

回復 3# ML089
Dear ML,
抱歉,可以再幫我解一下疑惑嗎?

此段為excel函數,我想把他轉VBA,因有跨工作表的問題,所以自己run不出來
=SUMIFS(ROUND!M2:M10000,ROUND!A2:A10000,A2)

下方是我改過的語法,但有問題

Sub Sumifs()

For I = 2 To [a65536].End(3).Row
Cells(I, "G") = Application.SumIfs((Sheets("ROUND").[M2:M10000]), (Sheets("ROUND").[A2:A10000]), Cells(I, "A")
Next

End Sub


Noname.jpg
前天 16:45
Just do it.

TOP

回復 8# jsc0518

少了一個  )
Cells(I, "G") = Application.SumIfs((Sheets("ROUND").[M2:M10000]), (Sheets("ROUND").[A2:A10000]), Cells(I, "A"))

TOP

回復 9# samwang
Dear samwang,
晚上好!感謝您的回覆歐,剛用了測試OK。

再請教您一個問題
我若改成 Sumif (語法如下) ,但會發生 400 錯誤,是否可幫我解惑,哪個語法有問題
Thank you very much.




Sub Sumif()

For I = 2 To [a65536].End(3).Row
Cells(I, "G") = Application.Sumif(工作表2.Range("A"), 工作表3.Cells(I, "A"), 工作表2.Range("M:M"))
Next

End Sub

Noname.jpg
前天 19:47
Just do it.

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題