运行PERCENTRANK时收到“无法获取WorksheetFunction类的PercentRank属性”错误

我正在尝试使用PERCENTRANK函数来查找“B”列中“答案”的百分位数。 从“Dim x As Double”开始,就是PercentRank函数开始的地方,我只是将剩下的代码包含在内,以显示我正在做什么。

Dim response As VbMsgBoxResult response = MsgBox("Is This Item Catch Weight?", vbYesNo) If response = vbNo Then Dim cost, weight, answer As Variant Dim myrng As Range cost = InputBox("Please Enter PO Cost") weight = InputBox("Please Enter Net Weight") answer = cost / weight MsgBox "Price per KG is: " & answer Dim x As Double Set ws = ActiveWorkbook.Worksheets("Sheet1") Set relevant_array = ws.Range(ws.Range("B1"), ws.Range("B1").End(xlDown)) x = WorksheetFunction.PercentRank(relevant_array.Address, answer) Debug.Print x Exit Sub 

你所看到的是由于PercentRank工作在一个数组/范围而不是一个地址的事实。

尝试将该行更改为:

 x = WorksheetFunction.PercentRank(relevant_array, answer) 

这应该解决它。