|
做了个示例,最前面插入了一列,便于标识对应关系,最后的标色不难实现,但是标在哪里并不明确,所以没做。附件请参考。
- Private Sub CommandButton1_Click()
- Dim arr, brr, i&, j&, k&
- arr = [b1].CurrentRegion
- ReDim brr(1 To 8, 1 To UBound(arr, 2))
- For j = 1 To UBound(arr, 2)
- For i = UBound(arr) To 2 Step -1
- For k = i - 1 To 1 Step -1
- If arr(k, j) <> arr(i, j) Then Exit For
- Next k
- If i = UBound(arr) Then brr(8, j) = i - k
- If brr(arr(i, j) + 1, j) < i - k Then brr(arr(i, j) + 1, j) = i - k
- i = k + 1
- Next i
- Next j
- [b16].Resize(8, UBound(brr, 2)) = brr
- End Sub
复制代码 |
|