您的位置:首页 > 编程语言 > VB

vba两集合的交、并、补集

2017-11-20 10:33 281 查看
有两列数据A、B,求出A有B没有、B有A没有、AB都有、AB的合集:



用VBA是的字典来做:

Sub 字典法()

Dim arr1()

arr1 = Range("A2:b31").Value

Set d = CreateObject("Scripting.Dictionary")

For i = 1 To UBound(arr1)

    d(arr1(i, 1)) = 1

Next

For j = 1 To UBound(arr1)

    d(arr1(j, 2)) = d(arr1(j, 2)) + 2

Next

ReDim arr1(1 To d.Count, 1 To 4)

i = 0: j = 0: l = 0

For Each d1 In d.keys

    If d(d1) = 1 Then  'A有B没有

        j = j + 1

        arr1(j, 1) = d1

    ElseIf d(d1) = 2 Then  'B有A没有

        l = l + 1

        arr1(l, 2) = d1

    Else                            'AB都有

       i = i + 1

       arr1(i, 3) = d1

    End If

    r = r + 1

    arr1(r, 4) = d1          'AB的合集

Next

Range("d2").Resize(d.Count, 4) = arr1

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: