|
发表于 2013-8-5 09:39
|
显示全部楼层
本楼为最佳答案
偷懒了,用单元格操作完成,数据量大时速度慢- Sub aa1()
- Dim i%, j%, k%, l%, m%, Arr, ii&
- Arr = Range("C1:D17")
- For ii = 2 To UBound(Arr)
- i = Int(Arr(ii, 1))
- j = Int(Arr(ii, 2))
- If i = 0 Or j = 0 Then GoTo 100
- Cells(ii, 5).Resize(1, 4).Interior.ColorIndex = 1
- k = j - i + 5
- If k < 5 Then k = k + 4
- Cells(ii, k).Interior.ColorIndex = 5
- m = 1
- For l = 1 To 4 - j
- If k + m > 8 Then m = m - 4
- Cells(ii, k + m).Interior.ColorIndex = 3
- m = m + 1
- Next l
- 100:
- For i = 5 To 8
- If Cells(ii, 3) <> "" Then Cells(ii, i) = IIf(Cells(ii, 3) + i - 5 > 4, Cells(ii, 3) + i - 9, Cells(ii, 3) + i - 5)
- Next i
- Next
- End Sub
复制代码 |
|