无需排序,加个判断即可。- Sub 加工()
- Dim Myr%, x%, k%, j%, xkey, p%
- Dim arr, ayy()
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet2.[a1].CurrentRegion
- ReDim ayy(1 To UBound(arr), 1 To 9)
- For x = 2 To UBound(arr)
- xkey = arr(x, 15)
- If Not d.exists(arr(x, 15) * 1) Then
- k = k + 1
- ayy(k, 1) = arr(x, 15)
- ayy(k, 2) = arr(x, 3)
- d(xkey) = k
- End If
- p = d(xkey)
- ayy(p, 4) = ayy(p, 4) + arr(x, 5)
- ayy(p, 6) = ayy(p, 6) + 1
- If Val(arr(x, 1)) > Val(ayy(p, 8)) Then
- ayy(p, 8) = arr(x, 1)
- ayy(p, 9) = arr(x, 6)
- End If
- Next
-
- With Sheet3
- .[a:i].Clear 'Contents
- .[a1:i1] = Array("代码", "股票名称", "历史盈亏", "剩余股数", "扎差金额", "交易次数", "扎差成本", "最近成交日", "最近成交价")
- .Columns("a:a").NumberFormatLocal = "000000"
- .Range("a2").Resize(k, 9) = ayy
- .Select
- End With
- End Sub
复制代码 |