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

时间:2016-06-16 14:33:47

标签: excel vba macros

我已经能够通过使范围成为静态范围来实现这一点,但即便如此,我最终也会开始收到错误消息。我试图在列“B”上做PercentRank,这将是一个可变范围。为了帮助,我使用的数字是150.

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, 150)
    MsgBox x  

此文件非常庞大,在B列中大约有26万行数字。例如,这是第2-50行。

8.075
40.67
4.06
127.5
62.25
42.33333333
44.97
3.68
163.73
163.73
163.73
163.73
163.73
163.73
163.73
163.73
163.73
176.28
176.30
176.30
176.30
176.30
176.30
176.30
176.30
176.30
138.53
138.55
138.55
138.55
138.55
138.55
138.55
138.55
138.55
151.05
151.08
151.08
151.08
151.08
151.08
151.08
151.08
151.08
176.28
176.30
176.30
176.30
176.30

1 个答案:

答案 0 :(得分:0)

尝试使用以下公式设置范围,按名称获取工作簿,并使用paste special将范围中的所有值乘以1:

distancexy 0 0