VBA仅在可见范围内起作用

时间:2017-04-05 13:30:12

标签: excel-vba vba excel

我尝试在自动过滤的电子表格上运行PercentRank函数,使其仅在可见单元格上运行。我尝试定义一个范围对象,即:

Dim x As Range
x = ActiveSheet.Range("K1:K6027").Rows.SpecialCells(x1CellTypeVisible)

然后尝试使用该范围的函数,即:

PercentRank = WorksheetFunction.PercentRank(Range(x, *value to be ranked*) )

但是该代码返回一个"编译错误:参数不是可选的"信息。我假设它是由于percentrank函数的语法需要两个参数来设置它运行的值的范围,但我在概念上不清楚如何将其转换为代码。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要Set x并使用它。此外,您的括号需要转移:

Set x = ActiveSheet.Range("K1:K6027").Rows.SpecialCells(xlCellTypeVisible)
MyPercentRank  = WorksheetFunction.PercentRank(x, *value to be ranked*)