复制过滤范围出现溢出错误
由COUNTIF
函数计算失败产品的失败次数。 counts > 0
结果是自动过滤的。 筛选的结果被粘贴到sheet3。 有限范围被复制用于testing程序逻辑。 获取Run time error 6 Overflow
在代码行上Run time error 6 Overflow
: numbElements = 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可能会导致溢出。
你应该改变你的numbElements
和i
variables定义为Long
。 Long
最大值是2147483647
(2^31-1)
。