嘗試在MAX函數中包含if語句並在VBA中創建FOR循環。如何將MAX和IF語句集成到VBA中的FOR循環中?
我想要的代碼是當列A中的值等於列I中的值時,將列B中的MAX
值返回到新列。我在數據集中也有超過1,000行,因此我需要一個循環。
這裏是數據集我的工作的Screenshot of data set:
當我執行我的數據集下面的代碼(max_no_loop
),我得到的是我期待的輸出。但是,我想循環1000行以上,所以我需要I2
隨着集成的每一步而改變。
Sub max_no_loop()
Range("K2").FormulaArray = "=MAX(IF(A:A=I2,B:B))"
End Sub
考慮這件事後,我想出了一個具有如下功能(max_loop
),我改變了I2
到Cells(i, 9)
,但是,當我在我的數據運行的功能,我得到的名字錯誤(#NAME?
)和唐」無法獲得理想的結果。
Sub max_loop():
Dim i As Integer
For i = 2 To 11
Cells(i, 11).FormulaArray = "=MAX(IF(A:A=Cells(i, 9),B:B))"
Next i
End Sub
爲什麼我無法使功能工作時,我將它集成到一個for循環?
我粘貼代碼到我的工作簿中,仍然有名字的錯誤。 – grantaguinaldo
它應該是'Cells(i,11).FormulaArray =「= MAX(IF(A:A =」&Cells(i,9).Address&「,B:B))」' –