2016-06-16 8 views
0

範囲を静的範囲にすることによってこれを動作させることができましたが、その場合でも最終的にエラーが発生しますメッセージ。私はPercentRankを列 "B"にしようとしています。これは可変範囲になります。ヘルプのために、私が使用している数は150PercentRank実行時エラー '1004'がWorksheetFunctionクラスのPercentRankプロパティを取得できません

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 
+0

私が複製することができますよ配列の一部ではない値で2番目のパラメーターを指定すると問題が発生します。値150が配列の最小値と最大値のどこかに制限されていますか? –

+0

@RyanWildryはい、私は別の番号を試し続けて、エラーを続ける – cam

+0

列の数値は数値ですか?列Bの内容を投稿できますか? –

答えて

0

、次の式で範囲を設定する名前で、ブックを取得し、ペースト特別を使用して1で範囲内のすべての値を乗算してみてください。

Set relevant_array = ws.Range(ws.Cells(1, 2), ws.Cells(ws.Rows.Count, 2).End(xlUp)) 
関連する問題