|
你用颜色标注不过来的,好多重复的。- Sub tt()
- Set d = CreateObject("scripting.dictionary")
- r = [b65536].End(3).Row
- arr = Range("a1:f" & r)
- For i = 3 To UBound(arr)
- x = Trim(arr(i, 3))
- x = Replace(x, " ", "") '项目名称去空格作为key
- d(x) = d(x) & "," & i '相同项目名称所在的行数作为item
- Next
- dt = d.items
- For i = 0 To UBound(dt)
- xrr = Split(dt(i), ","): n = UBound(xrr) 'xrr为'相同项目名称所在的行数的数组
- If n > 1 Then 'n>1表示一个项目有2个以上行
- For j = 1 To n
- k = xrr(j): s = "重复:" & Mid(dt(i), 2)
- If j < n Then If xrr(j + 1) - xrr(j) = 1 Then s = Replace(s, k & "," & k + 1, "")
- If j > 1 Then If xrr(j) - xrr(j - 1) = 1 Then s = Replace(s, k - 1 & "," & k, "")
- If s = "重复:" Then s = "正常" '表示所有相邻行去掉后,没有其他行出现
- arr(k, 6) = s
- Next
- End If
- Next
- [f1].Resize(UBound(arr), 1) = Application.Index(arr, , 6)
- End Sub
复制代码 |
|