我通過Excel VBA中試圖SUMIF函數,但我得到「#VALUE」錯誤。SUMIF函數在VBA和如何使用動態範圍式
Sub xd()
R_lastrow = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
R_lastcolumn = Sheets(1).Cells(1, Columns.Count).End(xlToLeft).Column
o_lastrow = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
o_lastcolumn = Sheets(2).Cells(1, Columns.Count).End(xlToLeft).Column
For k = 2 To o_lastrow
For j = 2 To o_lastcolumn
Sheets("Sheet2").Cells(k, j).Value = Sheets("Sheet2").Evaluate("SUMIF(Sheet1!&range(cells(2,R_lastrow),cells(2,R_lastcolumn)),range(1,j),Sheet1!&range(cells(j,R_lastrow))")
Next j
Next k
End Sub
可否請你建議我在哪裏,我錯了
我建議你先DESCR ibe你正在嘗試做什麼。 (「Sheet2」)。Cells(k,j).Value = Sheets(「Sheet2」)。Evaluate(「SUMIF(Sheet1!&range(cells(2,R_lastrow),cells(2,R_lastcolumn)) ,範圍(1,j),Sheet1!&range(單元格(j,R_lastrow))「) 應該是:Sheets(」Sheet2「)。Cells(k,j).Value = Sheets(」Sheet2「)。Evaluate 「SUMIF(Sheet1!)&range(cells(2,R_lastrow)&」,「&cells(2,R_lastcolumn))&」,「&range(1,j),Sheet1!&range(cells(j,R_lastrow)) ) – jkpieterse
在我的工作簿中,我列了'a'列和'b'列到'd'列明年銷售總額的項目列表。 而在sheet2中,我只在列'a'和列' b'到'd'列(頭)。在sumif函數的幫助下,通過使用vba代碼求和值。 –
我試圖在sumif函數中使用動態範圍 –