我得到了以下代码,现在当我使用以下内容过滤我的结果时它没有返回结果我收到溢出错误。但我不明白为什么。我认为这是我尝试选择不良范围的事实。所以我尝试检查具有值的第一个单元格是否为空。但目前似乎没有帮助。
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
所以任何人都知道如何解决这个或问题是什么?
答案 0 :(得分:4)
定义
Dim iCtr AS Long
因为它可以安全地让它接受任何大小的范围RowCount
。
答案 1 :(得分:1)
从上面的信息来看,高度怀疑iCtr是Integer导致了这个问题。最大整数为32767,因此无法容纳大数。您可以将其定义为Long以避免溢出问题。
Dim iCtr As Long
作为Long,最大值将达到2147483647.