Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: jkhh

[已解决]特急在线等!各位帮忙看看为什么会出现下标越界

[复制链接]
 楼主| 发表于 2010-12-8 10:18 | 显示全部楼层
回复

使用道具 举报

发表于 2010-12-8 10:19 | 显示全部楼层

vt和vtbase是两个数组,其上下界都不一样,你这个i和j不能串来串去用。
回复

使用道具 举报

 楼主| 发表于 2010-12-8 10:31 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2010-12-8 11:04 | 显示全部楼层
回复

使用道具 举报

发表于 2010-12-8 13:39 | 显示全部楼层    本楼为最佳答案   

分表和总表的用户号不重复吧!

 


Sub Test()
    Dim d As Object
    Dim ArrF() As Variant    '分表
    Dim ArrZ() As Variant    '总表
    Dim ArrJG(1 To 100000, 1 To 3)    '结果
    Dim i&, j&, k&

    Set d = CreateObject("scripting.dictionary")
    ArrF = Range("A2:C" & Range("A2").End(xlDown).Row).Value
    ArrZ = Range("E2:G" & Range("E2").End(xlDown).Row).Value
    For i = 1 To UBound(ArrF)
        d(ArrF(i, 1)) = i
    Next i

    For i = 1 To UBound(ArrZ)
        If Asc(ArrZ(i, 1)) > 0 Then
            If d.exists(ArrZ(i, 1)) Then
                j = d(ArrZ(i, 1))
                If ArrF(j, 2) <> ArrZ(i, 2) Or ArrF(j, 3) <> ArrZ(i, 3) Then
                    k = k + 1
                    ArrJG(k, 1) = "'" & ArrZ(i, 1)
                    If ArrF(j, 2) = ArrZ(i, 2) Then
                        ArrJG(k, 2) = Empty
                    Else
                        ArrJG(k, 2) = ArrZ(i, 2)
                    End If
                    If ArrF(j, 3) = ArrZ(i, 3) Then
                        ArrJG(k, 3) = Empty
                    Else
                        ArrJG(k, 3) = ArrZ(i, 3)
                    End If
                End If
            Else
                k = k + 1
                ArrJG(k, 1) = "'" & ArrZ(i, 1)
                ArrJG(k, 2) = ArrZ(i, 2)
                ArrJG(k, 3) = ArrZ(i, 3)
            End If
        End If
    Next i

    Range("I:K").Clear
    Range("I2") = "用户号"
    Range("J2") = "规格1"
    Range("K2") = "规格2"
    Range("I3").Resize(k, 3) = ArrJG
End Sub
回复

使用道具 举报

 楼主| 发表于 2010-12-8 16:25 | 显示全部楼层

谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 08:05 , Processed in 0.265939 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表