我想把excel函數改成vba代碼。下面在山口AC,第2行式... =IF(ROWS($1:1)< MATCH(0.01,H$2:H$10)+1,"",INDEX(X:X,ROWS($1:1)-MATCH(0.01,H$2:H$10)+1))
excel VBA索引和匹配函數
...掃描前10行山口H.的
此公式查找在山口H的行的第一無零值。當找到該行時,col X中的值將在Col AC中打印出來,以便Col AC中的行與Col H中第一個非零值相匹配的行匹配。
我希望描述感。它在Excel工作表中完美工作。現在,我想將它變成VBA代碼,這裏是我有...
For i = 2 To lengthRows
With Application.WorksheetFunction
Range("AC" & i) = .IF(Rows(1) < .Match(0.01, Range("H2:H10")) + 1, "", .Index(Columns(24), Rows(1) - .Match(0.01, Range("H2:H10")) + 1))
End With
Next i
...行(1)在第一行和列(24)上校X.
當我運行代碼時,出現運行時錯誤不匹配'13:類型不匹配。
我試圖理解這個先前的問題是如何回答:Excel VBA: how to solve Index and Match function type mismatch error
0.01,H $ 2:H $ 10)',它正在尋找值0.01,而不是非零的值,如果一個單元格等於0.2,那麼'Match'將不會返回它。你需要改變你的'Match''匹配(0.01,H $ 2:H $ 10 -1)',第三個參數等於'-1'意味着它是尋找價值比'0.01' –