有可能是数组,超过上届导致的
报错的时候,建议楼主选择调试,
然后会在报错的一行代码显示黄色底色吧
鼠标放到各个变量上看看,到底是哪个出的问题
追问请帮忙看下
运行后不显示黄色
追答运行之后报错,弹出窗体,窗体上是否有调试按钮?
点击调试看看
由于拿不到原文件,不能调试
感觉上spilt这个可能有问题的,因为某个ip没有重复的,这个就要报错的
还有就是如果重复次数超过5次,也会有越界的情况
追问不显示呢。能帮我改改嘛
追答文件上传上来可以修改,这样两张截图,怎么改?
而且以上答复,是指可能存在越界嫌疑,楼主可以自己测试的
追问你邮箱多少
追答Sub test()
Dim Arr, Brr, D As Object, i&, t, tmp
Set D = CreateObject("scripting.dictionary")
Arr = [a1].CurrentRegion
a = 0
For i = 2 To UBound(Arr)
a = WorksheetFunction.Max(a, WorksheetFunction.CountIf(Columns(3), Arr(i, 3)))
If D.exists(Arr(i, 3)) Then
D(Arr(i, 3)) = D(Arr(i, 3)) & "," & Arr(i, 2)
Else
D(Arr(i, 3)) = Arr(i, 2)
End If
Next
ReDim Brr(1 To D.Count, 1 To a + 1)
i = 0
For Each t In D.keys
i = i + 1
Brr(i, 1) = t
tmp = Split(D(t), ",")
For j = 0 To UBound(tmp)
Brr(i, j + 2) = tmp(j)
Next
Next
[i5].Resize(UsedRange.Rows.Count, 7).Clear
[i5].Resize(D.Count, 7).Borders.LineStyle = xlContinuous
[i5].Resize(D.Count).FormulaR1C1 = "=ROW(R[-4]C[-8])"
[j5].Resize(D.Count, 6) = Brr
End Sub
追问显示无属性的赋值
追答
追问你这个可以?
追答还有就是你的数据多少行,建议你截取部分运行看看吧
是不是数据量太大导致,我是截取了部分验证的