VBA Excel – 范围select溢出错误

我得到了下面的代码,现在当我用下面的过滤我的结果,它没有返回任何结果我得到一个溢出错误。 但我不明白为什么。 我想这将是我尝试select一个不好的范围。 所以我试着检查第一个单元格的值是否为空。 但目前似乎没有帮助。

If Range("A2") <> "" Then iCtr = Range("A2", Range("A2").End(xlDown)).Count + 1 ActiveSheet.Range("$A$1:$AB" & iCtr).AutoFilter Field:=8, Criteria1:="=1100" _ , Operator:=xlOr, Criteria2:="=1110" End If 

所以任何人都有任何想法如何解决这个问题或是什么问题?

确定

 Dim iCtr AS Long 

因为这将安全地让它接受任何大小的范围RowCount

从上面的信息来看,高度怀疑iCtr是Integer导致的问题。 最大整数是32767,所以它不能保持大数。 您可以将其定义为Long以避免溢出问题。

 Dim iCtr As Long 

作为龙,最大值将上升到2147483647。