|
- Sub test()
- Dim r%, i%
- Dim arr, brr
- Dim d As Object
- Set d = CreateObject("scripting.dictionary")
- With Worksheets("数据")
- r = .Cells(.Rows.count, 2).End(xlUp).Row
- arr = .Range("d3:h" & r)
- ReDim brr(1 To UBound(arr), 1 To 4)
- For i = 1 To UBound(arr)
- x1 = 0
- x2 = 0
- y1 = 0
- y2 = 0
- For j = 1 To UBound(arr, 2)
- s = Val(arr(i, j))
- brr(i, 2) = brr(i, 2) + s
- If s Mod 2 = 1 Then
- x1 = x1 + 1
- Else
- x2 = x2 + 1
- End If
- If s > 17 Then
- y1 = y1 + 1
- Else
- y2 = y2 + 1
- End If
- Next
- brr(i, 3) = x1 & ":" & x2
- brr(i, 4) = y1 & ":" & y2
- Next
- For i = 2 To UBound(arr)
- d.RemoveAll
- For j = 1 To UBound(arr, 2)
- d(arr(i - 1, j)) = d(arr(i - 1, j)) + 1
- d(arr(i, j)) = d(arr(i, j)) + 1
- Next
- For Each aa In d.keys
- If d(aa) > 1 Then
- brr(i, 1) = brr(i, 1) + 1
- End If
- Next
- Next
- End With
- With Worksheets("图表")
- .Range("al4").Resize(UBound(brr), UBound(brr, 2)) = brr
- End With
- End Sub
复制代码 |
|