|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
附件已经追加了去重后排序功能,请测试。
楼主要求的去重、排序、重复项添加背景色功能已完成。
20180709_统计(去重排序背景色).rar
(1.71 MB, 下载次数: 6)
- Sub test()
- Dim dic As Object
- Dim m%, Arr, i%, j%, Brr, Crr, p%, a%, k%, temp
- Dim rng, rng1 As Range
- Application.ScreenUpdating = False
- m = Sheet1.Range("a65536").End(xlUp).Row
- i = 1
- For j = 2 To m
- '--------------------------------------------------------------------
- '去重
- Set dic = CreateObject("scripting.dictionary")
- For i = 1 To 24
- Arr = Sheet1.Range("c" & j & ":z" & j)
- If Range("B" & j) = Arr(1, i) Then
- Range("B" & j).Offset(0, i).Interior.Color = 15773696
- End If
- dic(Arr(1, i)) = ""
- Next
- Range("AB" & j).Resize(1, dic.Count) = dic.keys
- ' Stop
- '---------------------------------------------------------------------
- '从小到大排序
- Brr = Range("AB" & j).Resize(1, dic.Count)
- For a = 1 To dic.Count - 2
- p = a
- For k = a + 1 To dic.Count - 1
- If Brr(1, p) > Brr(1, k) Then
- p = k
- End If
- Next
- If p <> a Then
- temp = Brr(1, a)
- Brr(1, a) = Brr(1, p)
- Brr(1, p) = temp
- End If
- Next
- ' Stop
- Range("AB" & j).Resize(1, dic.Count) = Brr
- '---------------------------------------------------------------------
- '重复项添加背景色
- For Each rng In Range("AB" & j).Resize(1, dic.Count)
- If rng = Range("B" & j) Then
- rng.Interior.Color = 15773696
- End If
- Next
- Set dic = Nothing
- Next
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|