|
本帖最后由 jbljypx 于 2015-10-11 17:07 编辑
- '《VBA数组-5:数组与单元格格式》有些小小的漏洞:
- '如D80>500,没有着色,等等;
- '如最后一行D10000>500时,不会着色。
- '下面修补程序避免了上述漏洞。
- '欢迎批评指正。
- Sub 数组方法()
- Dim arr, t, i
- Dim x As Integer
- Dim sr As String, sr1 As String
- 清除颜色
- t = Timer
- arr = Range("d2:d" & Range("a65536").End(xlUp).Row)
- For x = 1 To UBound(arr)
- If x = UBound(arr) And sr <> "" Then Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
- If x = UBound(arr) And arr(x, 1) > 500 Then 'jbl新增语句
- Range("A" & x + 1 & ":D" & x + 1).Interior.ColorIndex = 3: MsgBox Timer - t: Exit Sub 'jbl新增语句
- End If
- If x = UBound(arr) And arr(x, 1) <= 500 Then 'jbl新增语句
- MsgBox Timer - t: Exit Sub 'jbl新增语句
- End If
- If arr(x, 1) > 500 Then
- sr1 = sr
- sr = sr & "A" & x + 1 & ":D" & x + 1 & ","
- i = Len(sr) 'jbl增加的观察语句
- If Len(sr) > 255 Then
- sr = sr1
- x = x - 1
- Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
- sr = ""
- i = "" 'jbl增加的观察语句
- End If
- End If
- 'If x = 9998 Then Stop 'jbl增加的终止语句,以观察程序的结尾运行情况
- Next x
- MsgBox Timer - t
- End Sub
复制代码 |
|