|
下面是B列到L列的代码,可以看一下。- Sub tt()
- Set d = CreateObject("scripting.dictionary")
- Set d1 = CreateObject("scripting.dictionary")
- arr = Sheet1.[a1].CurrentRegion
- For i = 2 To UBound(arr)
- x = arr(i, 1) & arr(i, 7) '名称+买卖盘性质
- d(x) = d(x) + 1
- d1(x) = d1(x) + arr(i, 5)
- Next
- brr = [a1].CurrentRegion
- ReDim bbrr(1 To UBound(brr) - 1, 1 To 10)
- For i = 2 To UBound(brr)
- x1 = brr(i, 2) & "买盘"
- x2 = brr(i, 2) & "卖盘"
- x3 = brr(i, 2) & "中性盘"
- p = i - 1
- bbrr(p, 1) = d1(x1): bbrr(p, 8) = d(x1) '买盘数/重复数
- bbrr(p, 2) = d1(x2): bbrr(p, 9) = d(x2) '卖盘数/重复数
- bbrr(p, 3) = d1(x3): bbrr(p, 10) = d(x3) '中性盘数/重复数
- s = bbrr(p, 1) + bbrr(p, 2) + bbrr(p, 3): bbrr(p, 4) = s '总盘数
- If s > 0 Then
- bbrr(p, 5) = bbrr(p, 1) / s '买占比
- bbrr(p, 6) = bbrr(p, 2) / s '卖占比
- bbrr(p, 7) = bbrr(p, 3) / s '中占比
- End If
- Next
- [C2].Resize(p, 10) = bbrr
- End Sub
复制代码 |
|