无法获得Range类的SpecialCells属性

时间:2015-12-29 11:42:49

标签: excel vbscript excel.application

我试图在Excel工作表中获取已过滤的行数。但我正在尝试下面提到的错误:

无法获取Range类的SpecialCells属性。

colorama

1 个答案:

答案 0 :(得分:0)

如果您只是在寻找行数,您可以省去减少检查范围,只需计算可见行数。

Dim Rowz
With objExcel.ActiveWorkbook.Sheets("All")
    With .Cells(1,1).CurrentRegion
        .AutoFilter 19, "=" & ObjectName
        Rowz = .Cells.SpecialCells(12).Rows.Count - 1 '<~~ VBScript might not know that xlCellTypeVisible = 12
        MsgBox Rowz
    End With
End With

我已将xlCellTypeVisible缩减为其值,并通过向Range.CurrentRegion property添加限制来删除A列限制。 (顺便说一句,您的原始代码是MsgBox Rows,而不是MsgBox Rowz。可能最好使用Option Explicit来避免类似错别字。