我尝试在自动过滤的电子表格上运行PercentRank函数,使其仅在可见单元格上运行。我尝试定义一个范围对象,即:
Dim x As Range
x = ActiveSheet.Range("K1:K6027").Rows.SpecialCells(x1CellTypeVisible)
然后尝试使用该范围的函数,即:
PercentRank = WorksheetFunction.PercentRank(Range(x, *value to be ranked*) )
但是该代码返回一个"编译错误:参数不是可选的"信息。我假设它是由于percentrank函数的语法需要两个参数来设置它运行的值的范围,但我在概念上不清楚如何将其转换为代码。任何帮助将不胜感激。
答案 0 :(得分:2)
您需要Set
x并使用它。此外,您的括号需要转移:
Set x = ActiveSheet.Range("K1:K6027").Rows.SpecialCells(xlCellTypeVisible)
MyPercentRank = WorksheetFunction.PercentRank(x, *value to be ranked*)