vba运行显示 运行时错误“9” 下标越界

vba运行显示 运行时错误“9” 下标越界代码如下图

有可能是数组,超过上届导致的
报错的时候,建议楼主选择调试,
然后会在报错的一行代码显示黄色底色吧
鼠标放到各个变量上看看,到底是哪个出的问题追问

请帮忙看下

运行后不显示黄色

追答

运行之后报错,弹出窗体,窗体上是否有调试按钮?
点击调试看看

由于拿不到原文件,不能调试
感觉上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

追问

显示无属性的赋值

追答

追问

你这个可以?

追答

还有就是你的数据多少行,建议你截取部分运行看看吧
是不是数据量太大导致,我是截取了部分验证的

温馨提示:答案为网友推荐,仅供参考
相似回答