VBA Excel - 范围选择溢出错误

时间:2014-07-02 08:30:30

标签: excel vba range

我得到了以下代码,现在当我使用以下内容过滤我的结果时它没有返回结果我收到溢出错误。但我不明白为什么。我认为这是我尝试选择不良范围的事实。所以我尝试检查具有值的第一个单元格是否为空。但目前似乎没有帮助。

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

所以任何人都知道如何解决这个或问题是什么?

2 个答案:

答案 0 :(得分:4)

定义

Dim iCtr AS Long

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

答案 1 :(得分:1)

从上面的信息来看,高度怀疑iCtr是Integer导致了这个问题。最大整数为32767,因此无法容纳大数。您可以将其定义为Long以避免溢出问题。

Dim iCtr As Long

作为Long,最大值将达到2147483647.