复制过滤范围出现溢出错误

COUNTIF函数计算失败产品的失败次数。 counts > 0结果是自动过滤的。 筛选的结果被粘贴到sheet3。 有限范围被复制用于testing程序逻辑。 获取Run time error 6 Overflow在代码行上Run time error 6 OverflownumbElements = targetRng.End(xlDown).Row下面附加的相关信息。 有人可以指出这个错误吗?

自动过滤前的页面
自动过滤后的纸张

  Sub test() Dim targetRng As Range Dim i As Integer Set targetRng = Sheets(3).Range("a1") Range("A1", Range("A999").End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=targetRng, Unique:=True Dim numbElements As Integer numbElements = targetRng.End(xlDown).Row Dim arr() As String ReDim arr(1 To numbElements) As String For i = 1 To numbElements arr(i) = targetRng.Offset(i - 1, 0).Value Next i End Sub 

VBA中的最大Integer数值是32767 (2^15-1) 。 将行号分配给Integer可能会导致溢出。

你应该改变你的numbElementsivariables定义为LongLong最大值是2147483647 (2^31-1)