COUNTIF
函数计算的失败产品的失败计数。 counts > 0
的结果会自动过滤。过滤后的结果将粘贴到sheet3。复制有限范围以测试程序逻辑。在代码行上获取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
答案 0 :(得分:2)
VBA中的最大Integer
值为32767
(2^15-1)
。将行号分配给Integer可能会导致溢出。
您应该将numbElements
和i
变量定义更改为Long
。 Long
的最大值为2147483647
(2^31-1)
。