|
- Sub Macro1()
- Dim arr, d, d2,i&,bm$
- arr = Range("g2").CurrentRegion
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- Const n = 20
- For i = 1 To n
- bm = "aa" & Format(i, "000")
- d(bm) = 1 + (i - 1) \ 5
- Next
- For i = 2 To UBound(arr)
- x = Split(arr(i, 1), "-")
- For j = Right(x(0), 3) To Right(x(1), 3)
- bm = "aa" & Format(j, "000")
- d2(d(bm)) = d2(d(bm)) + 1
- Next
- a = d2.keys: b = d2.items
- If d2.Count = 1 Then
- arr(i, 3) = a(0)
- Else
- arr(i, 3) = IIf(b(1) >= b(0), a(1), a(0))
- End If
- d2.RemoveAll
- Next
- Range("K2").Resize(UBound(arr)) = Application.Index(arr, 0, 3)
- End Sub
复制代码 |
|