如何用VBA语言写RANK函数

如何用VBA语言写RANK函数 如下所示,编辑出现“运行时错误 1004 应用程序定义或者对象定义错误”大侠救我
Private Sub KILLONE()
Dim i As Integer
i = Application.WorksheetFunction.Rank(A1, Range(Cells(1, 1), Cells(1, 10)), 0)
End Sub
以上语句具体应该怎么写

解决了,代码如下:
Private Sub KILLONE()
Dim i As Integer
Dim Number As Double
Number = Worksheets("sheet1").Cells(1, 1).Value
Set myRange = Worksheets("Sheet1").Range("A1:C10")

i = Application.WorksheetFunction.Rank(Number, myRange, 0)
End Sub

你的错误:RANK的参数1需要为double型的值(如3.5类似的值),参数2需要为range类型,建议参考我的写法为RANGE类型。
需要注意的是:单元格A1中确实存在Double类型的值,否则出现1004类型错误。
运行上述代码,
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
a1改成cells(1,1)或range("a1")或[a1]或cells(1)

ps:如果a1:j1中没有数值,也会导致代码出错.
相似回答