|
'好玩而已,使用改变颜色速度会更快些,,,
Option Explicit
Sub test()
Dim arr, i, j, m, rng As range, t
t = Timer
Application.ScreenUpdating = False
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr, 1) * UBound(arr, 2), 1 To 1) As String
[a1].CurrentRegion.Interior.ColorIndex = xlNone
For i = 2 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
If InStr(arr(i, j), "昆山") > 0 Then m = m + 1: brr(m, 1) = Cells(i, j).Address(0, 0)
Next j, i
If m = 0 Then Exit Sub
Set rng = range(brr(1, 1))
For i = 2 To m
If i Mod 50 = 1 Then
rng.Interior.Color = vbYellow
Set rng = range(brr(i, 1))
Else
Set rng = Union(rng, range(brr(i, 1)))
End If
Next
rng.Interior.Color = vbYellow
Application.ScreenUpdating = True
Debug.Print Format(Timer - t, "用时:0.00s"), m
End Sub |
评分
-
1
查看全部评分
-
|