|
- Private Sub CommandButton1_Click()
- Dim arr(1 To 65536, 1 To 3), i&, d As Object, n&
- Dim Lv0 As ListView, Lv1 As ListView, Lv2 As ListView, Lv3 As ListView
- Set d = CreateObject("scripting.dictionary")
- Set Lv0 = UserForm1.ListView1
- Set Lv1 = UserForm1.ListView2
- Set Lv2 = UserForm1.ListView3A
- Set Lv3 = UserForm1.ListView3B
-
- For i = 1 To Lv1.ListItems.Count
- With Lv1
- If Not d.exists(.ListItems(i).Text & "|" & .ListItems(i).SubItems(1) & "|" & .ListItems(i).SubItems(2)) Then
- n = d.Count + 1
- d(.ListItems(i).Text & "|" _
- & .ListItems(i).SubItems(1) & "|" _
- & .ListItems(i).SubItems(2)) = n
- arr(n, 1) = .ListItems(i).Text
- arr(n, 2) = .ListItems(i).SubItems(1)
- arr(n, 3) = .ListItems(i).SubItems(2)
- End If
- End With
- Next
- For i = 1 To Lv2.ListItems.Count
- With Lv2
- If Not d.exists(.ListItems(i).Text & "|" & .ListItems(i).SubItems(1) & "|" & .ListItems(i).SubItems(2)) Then
- n = d.Count + 1
- d(.ListItems(i).Text & "|" _
- & .ListItems(i).SubItems(1) & "|" _
- & .ListItems(i).SubItems(2)) = n
- arr(n, 1) = .ListItems(i).Text
- arr(n, 2) = .ListItems(i).SubItems(1)
- arr(n, 3) = .ListItems(i).SubItems(2)
- End If
- End With
- Next
- For i = 1 To Lv3.ListItems.Count
- With Lv3
- If Not d.exists(.ListItems(i).Text & "|" & .ListItems(i).SubItems(1) & "|" & .ListItems(i).SubItems(2)) Then
- n = d.Count + 1
- d(.ListItems(i).Text & "|" _
- & .ListItems(i).SubItems(1) & "|" _
- & .ListItems(i).SubItems(2)) = n
- arr(n, 1) = .ListItems(i).Text
- arr(n, 2) = .ListItems(i).SubItems(1)
- arr(n, 3) = .ListItems(i).SubItems(2)
- End If
- End With
- Next
- Lv0.ListItems.Clear
- For i = 1 To d.Count
- With Lv0.ListItems.Add()
- .Text = arr(i, 1)
- .SubItems(1) = arr(i, 2)
- .SubItems(2) = arr(i, 3)
- End With
- Next
- d.RemoveAll: Set d = Nothing: Erase arr
- Set Lv0 = Nothing: Set Lv1 = Nothing: Set Lv2 = Nothing: Set Lv3 = Nothing
- End Sub
复制代码
|
|