我试图在Excel工作表中获取已过滤的行数。但我正在尝试下面提到的错误:
无法获取Range类的SpecialCells属性。
colorama
答案 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
来避免类似错别字。