vba语法错误中的rank函数

时间:2015-07-27 15:06:10

标签: excel vba rank

Range("AQ3").Formula = "=IF(ISNA(RANK(N3,Range("N3:N" & lastRow),0)),"",COUNTIF(Range("N3:N" & lastRow)" > "&N3)+1)"
Range("N3:N" & lastRow).filldown

嗨,由于某种原因,我在第一行遇到语法错误。 我已经在上一节中定义了最后一行,所以不应该有任何错误,但我认为它必须使用一般语法。 有人可以帮忙吗? 感谢

1 个答案:

答案 0 :(得分:0)

这是因为公式文本中的"N3:N"。例如,您没有使用""N3:N""转义双引号。

然而,公式存在一般性问题,无论如何都会阻止这种情况发生。您需要的是:

Range("AQ3").Formula = "=IF(ISNA(RANK(N3,N3:N" & lastRow & ",0)),"""",COUNTIF(N3:N" & lastRow & ", "">$N3"")+1)"
Range("N3:N" & lastRow).FillDown

可能也需要填写Range("AQ3:AQ" & lastRow) - 但是,只要lastRow是一个有效的整数,这就不会抛出运行时错误。