|
楼主 |
发表于 2014-10-19 17:14
|
显示全部楼层
本帖最后由 403300768 于 2014-10-19 17:25 编辑
xdragon 发表于 2014-10-19 16:36
不是很明白你的问题,是这样吗?
是这样的,谢谢你老师。不好意思,再请教一个问题。针对最前的问题:如果数据区域是V6:BX12,结果显示在V18:BX18.那代码是否可以这样改,Sub test() Dim arr, re, d, i%, sr$, col%
arr = Range("V6:BX12").Value
ReDim re(1 To 1, 1 To UBound(arr, 2))
Set d = CreateObject("scripting.dictionary")
For i = 1 To UBound(arr, 2)
sr = arr(1, i) & "|" & arr(2, i) & "|" & arr(3, i) & "|" & arr(4, i)& "|" & arr(5, i)& "|" & arr(6, i)& "|" & arr(7, i)
If d.exists(sr) Then
col = d(sr)(0) + 21
re(1, d(sr)(0)) = col
Union(Range(Cells(6, col), Cells(12, col)), Cells(18, col)).Interior.Color = d(sr)(1)
d(sr) = Array(i, d(sr)(1))
re(1, i) = i + 21
Union(Range(Cells(6, i + 21), Cells(12, i + 21)), Cells(18, i + 21)).Interior.Color = d(sr)(1)
Else
d(sr) = Array(i, RGB(Int(Rnd * 256) + 1, Int(Rnd * 256) + 1, Int(Rnd * 256) + 1))
End If
Next
Range("V18:BX18") = re
End Sub
|
|